[Pdns-users] [gmysql] How about add CLIENT_MULTI_RESULTS to smysql.cc ?

Sandro Tosi sandro.tosi at register.it
Tue Mar 22 15:32:22 UTC 2011


Cool, thanks a lot!

On 03/22/2011 03:19 PM, bert hubert wrote:
> On Mon, Mar 21, 2011 at 08:35:15AM +0100, Sandro Tosi wrote:
>> Anyone has comment on this patch? Is there a better place I can send
>> it for review and (possible) inclusion?
>
> Hi Sandro,
>
> It has been added to revision 2084, which can be downloaded from
> http://powerdnssec.org/snapshots/
>
> It will also be part of the 3.0 release.
>
> Thanks!
>
>>
>> Regards,
>> Sandro
>>
>> On 03/08/2011 04:44 PM, Sandro Tosi wrote:
>>> Hi,
>>> we're configuring to pdns with a MySQL backend, and using stored
>>> procedures to query the database.
>>>
>>> Sadly, we're facing a problem since mysql_real_connect() in smysql.cc
>>> does not have the CLIENT_MULTI_RESULTS argument, needed[1][2] to fetch
>>> multiple rows from a stored proc.
>>>
>>> [1] http://dev.mysql.com/doc/refman/5.5/en/c-api-multiple-queries.html
>>> [2] http://dev.mysql.com/doc/refman/5.5/en/mysql-real-connect.html
>>>
>>> We're about to apply the attached patch and recompile pdns, but I'd like
>>> to hear from you what do you think about it and if you'd like to
>>> consider it for inclusion in the pdns upstream source code.
>>>
>>> Regards,
>>> Sandro
>>>
>>> PS: this is a known problem:
>>> http://old.nabble.com/gmysql-backend-and-stored-procedures-td19035294.html
>>>
>>>
>>>
>>> client_multi_results
>>>
>>>
>>> Index: debian-pdns/modules/gmysqlbackend/smysql.cc
>>> ===================================================================
>>> --- debian-pdns.orig/modules/gmysqlbackend/smysql.cc	2011-03-08 15:57:20.000000000 +0100
>>> +++ debian-pdns/modules/gmysqlbackend/smysql.cc	2011-03-08 15:57:45.000000000 +0100
>>> @@ -20,7 +20,7 @@
>>>   			  password.empty() ? 0 : password.c_str(),
>>>   			  database.c_str(), port,
>>>   			  msocket.empty() ? 0 : msocket.c_str(),
>>> -			  0)) {
>>> +			  CLIENT_MULTI_RESULTS)) {
>>>
>>>       throw sPerrorException("Unable to connect to database");
>>>     }
>>> @@ -91,6 +91,13 @@
>>>       return true;
>>>     }
>>>     mysql_free_result(d_rres);
>>> +
>>> +  while (mysql_next_result(&d_db) == 0) {
>>> +    if (d_rres = mysql_use_result(&d_db)) {
>>> +      mysql_free_result(d_rres);
>>> +    }
>>> +  }
>>> +
>>>     d_rres=0;
>>>     return false;
>>>   }
>>>
>>>
>>> ATT00001.txt
>>>
>>>
>>> _______________________________________________
>>> Pdns-users mailing list
>>> Pdns-users at mailman.powerdns.com
>>> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>>
>> --
>> Sandro Tosi
>> Product Engineer
>> Shared Hosting Products
>> R&D | Dada.pro
>> eml sandro.tosi at register.it
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users at mailman.powerdns.com
>> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>>

-- 
Sandro Tosi
Product Engineer
Shared Hosting Products
R&D | Dada.pro
eml sandro.tosi at register.it



More information about the Pdns-users mailing list