[erlang-questions] MySQL driver
Pablo Polvorin
pablo.polvorin@REDACTED
Wed Apr 17 04:31:23 CEST 2013
looks good, I'll try it, thanks!
On 16 April 2013 17:43, Loïc Hoguin <essen@REDACTED> wrote:
> bank_mysql has binary prepared statements: https://github.com/extend/**
> bank_mysql <https://github.com/extend/bank_mysql>
>
> You can use it with the bank pool (https://github.com/extend/**bank<https://github.com/extend/bank>)
> or without, whichever you prefer.
>
> No user guide at this time but it should be pretty easy to read.
>
>
> On 04/16/2013 10:07 PM, Pablo Polvorin wrote:
>
>> Is there a driver that supports the binary mysql protocol (not the
>> textual, sql one) for prepared statements?.
>>
>> I come in a situation recently on a query where we have to bind lots of
>> parameters into a prepared statement, and the time to escape all of
>> them by the driver and send the corresponding SET @N = .. was
>> substantial, actually larger than the time it takes mysql to run the
>> query. Using the binary protocol in this situation would help.
>>
>> I found http://erlmysql.sourceforge.**net/<http://erlmysql.sourceforge.net/> that do support the binary
>> protocol, and although it was much faster on this particular query
>> (order of magnitudes faster) it sometimes crashed and I found the code
>> more complex than other mysql drivers I've worked with, both reason to
>> make me nervous about using it. Is anyone using it on production?, do
>> you know alternatives?
>>
>>
>> *|
>>
>> |*
>>
>>
>>
>>
>> On 16 April 2013 07:06, Jesper Louis Andersen
>> <jesper.louis.andersen@REDACTED**solutions.com<jesper.louis.andersen@REDACTED>
>> <mailto:jesper.louis.andersen@**erlang-solutions.com<jesper.louis.andersen@REDACTED>>>
>> wrote:
>>
>> I may be interested in helping out on this thing as well. I have
>> some work to do changing driver infrastructure to Emysql and when
>> that comes around (in a couple of days/weeks), i'll probably also
>> try to look into some merging of patches if possible.
>>
>> Please keep me in the loop :)
>>
>> Jesper Louis Andersen
>> Erlang Solutions Ltd., Copenhagen
>>
>>
>>
>> On Apr 11, 2013, at 12:41 AM, Henning Diedrich <hd2010@REDACTED
>> <mailto:hd2010@REDACTED>> wrote:
>>
>> > Hi Garrett,
>> >
>> > great, I'll check out your connection time outs, thanks a lot!
>> >
>> > It was quite fun to find Jacob, Nick and Fredrik to write this
>> [1] up. It certainly felt more like historical forensics from some
>> point on although I was throughout only trying to find out which
>> driver version made most sense. Which in the end came to light in a
>> way I could not read out of the source.
>> >
>> > If someone would like to share the story of his fork I'll be
>> happy to include it, for the fun of it. Somehow, this all fits MySQL.
>> >
>> > Henning
>> >
>> > [1] https://github.com/eonblast/**Emysql#History<https://github.com/eonblast/Emysql#History>
>> >
>> >
>> > On Apr 11, 2013, at 12:25 AM, Garrett Smith <g@REDACTED
>> <mailto:g@REDACTED>> wrote:
>> >
>> >> Someday someone will write a book on the history of the Erlang
>> MySQL
>> >> libraries. Not a great read, but it'd have to be scholarly.
>> >>
>> >> I've modified the Eonblast library with some connection timeout
>> tweaks
>> >> (as in, supporting them):
>> >>
>> >> https://github.com/gar1t/**Emysql<https://github.com/gar1t/Emysql>
>> >>
>> >>
>> >>
>> >> On Wed, Apr 10, 2013 at 4:59 PM, Dave Smith <dizzyd@REDACTED
>> <mailto:dizzyd@REDACTED>> wrote:
>> >>> Hi Henning,
>> >>>
>> >>> Thanks for the pointers. I must admit that I find the level of
>> snark in the
>> >>> emysql history delightful, considering that it's at least as
>> forked as
>> >>> erlang-mysql-driver now. :)
>> >>>
>> >>> There are a number of good fixes for the emysql driver, but
>> they are on 20
>> >>> different forks across Github. Looking over csrl's, fixes, I'm
>> pretty
>> >>> concerned those aren't in mainline since there are some
>> non-trivial pooling
>> >>> problems he's addressed (would you like some irony with that
>> irony? :)).
>> >>>
>> >>> Do you know if eonblast is planning to incorporate all the work
>> from those
>> >>> different forks? I think we need to build some momentum behind
>> a driver and
>> >>> I'm certainly happy to direct people towards a maintained one.
>> >>>
>> >>> IMO, it would also be handy if the driver wasn't pooled, but
>> used poolboy
>> >>> since getting the pooling right is rather difficult. (I know
>> that poolboy
>> >>> has been tested with some of Quviq's concurrent checking stuff
>> and a number
>> >>> of race conditions addressed).
>> >>>
>> >>> Thanks!
>> >>>
>> >>> D.
>> >>>
>> >>>
>> >>> On Wed, Apr 10, 2013 at 3:00 PM, Henning Diedrich
>> <hd2010@REDACTED <mailto:hd2010@REDACTED>>
>>
>> >>> wrote:
>> >>>>
>> >>>> Hi Dave,
>> >>>>
>> >>>> if I remember right, you were using the driver that came from
>> Yxa via
>> >>>> Yarif's erlang-emysql-driver
>> https://github.com/dizzyd/**erlang-mysql-driver<https://github.com/dizzyd/erlang-mysql-driver>?
>> >>>> (Here is the history of that.
>> https://github.com/eonblast/**Emysql#History<https://github.com/eonblast/Emysql#History>
>> )
>> >>>>
>> >>>> It was found less than perfect when Nick and Jacob gave it
>> something to
>> >>>> chew building Rupture. I never spotted the problems myself I
>> should add.
>> >>>> That's purely from Nick Gerakine's and Jacob Vorreuter's words.
>> >>>>
>> >>>> But they report that with much effort they could not get the
>> races out of
>> >>>> it. That's why they started emysql, which I later started
>> maintaining, and
>> >>>> which Jeremy just mentioned, https://github.com/eonblast/**
>> Emysql <https://github.com/eonblast/Emysql>
>> >>>>
>> >>>> Considerable work went into getting the pooling system of
>> Emysql right.
>> >>>> (What I don't know is when exactly it got buggy, it may have
>> been after
>> >>>> Jacob's Emysql fork that now lies dormant.) But I worked a
>> while, with help
>> >>>> from others to get all races out of the queuing.
>> >>>>
>> >>>> However, the best fork of Emysql, I *think* is currently that
>> of Chris
>> >>>> Rempel at https://github.com/csrl/emysql as I got behind while
>> making
>> >>>> Erlvolt, the VoltDB driver, modeled in parts on Emysql. Chris
>> did some
>> >>>> impressive clean up. Now that Erlvolt is out, I'll turn around
>> and catch up
>> >>>> asap. But that's not a New York asap.
>> >>>>
>> >>>> An alternative may be to go back to a more original Yxa
>> version, like the
>> >>>> one possibly still to be found in ejabberd. That may be more
>> stable than
>> >>>> Yariv's branch that you started out with. The "history" I
>> linked to above
>> >>>> has the reasons, why that branch may be not quite clean and
>> hard to debug.
>> >>>>
>> >>>> Best,
>> >>>>
>> >>>> Henning
>> >>>>
>> >>>> On Apr 10, 2013, at 10:43 PM, Dave Smith <dizzyd@REDACTED
>> <mailto:dizzyd@REDACTED>> wrote:
>> >>>>
>> >>>>> Hello list,
>> >>>>>
>> >>>>> I'm curious what libraries people are currently using for
>> MySQL access
>> >>>>> in Erlang. I have an old library on my github that I've kept
>> basically
>> >>>>> working, but am wondering if there are any
>> preferred/production libraries
>> >>>>> out there that people like better.
>> >>>>>
>> >>>>> I ask because I'm considering retrofitting the pooling system
>> in the
>> >>>>> driver I maintain to use poolboy, but figure it was worth
>> checking if there
>> >>>>> are better alternatives out there. :)
>> >>>>>
>> >>>>> After all, the best code to maintain is the code you don't
>> maintain.
>> >>>>>
>> >>>>> D.
>> >>>>> ______________________________**_________________
>> >>>>> erlang-questions mailing list
>> >>>>> erlang-questions@REDACTED <mailto:erlang-questions@**
>> erlang.org <erlang-questions@REDACTED>>
>>
>> >>>>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>> >>>>
>> >>>
>> >>>
>> >>> ______________________________**_________________
>> >>> erlang-questions mailing list
>> >>> erlang-questions@REDACTED <mailto:erlang-questions@**
>> erlang.org <erlang-questions@REDACTED>>
>>
>> >>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>> >>>
>> >
>> > ______________________________**_________________
>> > erlang-questions mailing list
>> > erlang-questions@REDACTED <mailto:erlang-questions@**erlang.org<erlang-questions@REDACTED>
>> >
>>
>> > http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>
>> ______________________________**_________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED <mailto:erlang-questions@**erlang.org<erlang-questions@REDACTED>
>> >
>>
>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>
>>
>>
>>
>> --
>> Pablo Polvorin
>> ProcessOne
>>
>>
>> ______________________________**_________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>
>>
>
> --
> Loďc Hoguin
> Erlang Cowboy
> Nine Nines
> http://ninenines.eu
>
--
Pablo Polvorin
ProcessOne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130416/0946d0ff/attachment.htm>
More information about the erlang-questions
mailing list