[erlang-questions] MySQL driver

Jesper Louis Andersen <>
Tue Apr 16 12:06:21 CEST 2013


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 <> 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
> 
> 
> On Apr 11, 2013, at 12:25 AM, Garrett Smith <> 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
>> 
>> 
>> 
>> On Wed, Apr 10, 2013 at 4:59 PM, Dave Smith <> 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 <>
>>> 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 ?
>>>> (Here is the history of that. 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
>>>> 
>>>> 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 <> 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
>>>>> 
>>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions



More information about the erlang-questions mailing list