Hi Daniel, Hi Alex, Thanks! That looks great. Once commited, I'll test it, too.
By the way, I've just tried with sql_query. It didn't work as well. Do you think it is fixed together with Alex's change? Shouldn't there be a warning/error message if the returned data type is not supported? Code: sql_query("openserdb", "SELECT count(*) FROM subscriber where username='foo'", "ra"); $avp(s:value) = $dbr(ra=>[0,0]); xlog("L_INFO", "avp(s:value)=$avp(s:value)\n"); sql_result_free("ra"); Output: avp(s:value)= Mit freundlichen Grüßen / Best regards Ricardo Keigo de Sales Andrade Robert Bosch GmbH (CI/AFU) Postfach 30 02 20 70442 Stuttgart GERMANY www.bosch.com Tel. +49(711)811-3607004 Mobil +49(172)1081152 ricardo.andr...@br.bosch.com Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000; Aufsichtsratsvorsitzender: Hermann Scholl; Geschäftsführung: Franz Fehrenbach, Siegfried Dais; Stefan Asenkerschbaumer, Bernd Bohr, Rudolf Colm, Volkmar Denner, Wolfgang Malchow, Peter Marks, Uwe Raschke, Wolf-Henning Scheider, Peter Tyroller -----Ursprüngliche Nachricht----- Von: Daniel-Constantin Mierla [mailto:mico...@gmail.com] Gesendet: Dienstag, 5. Juli 2011 11:51 An: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List Cc: Alex Hermann; Andrade Ricardo (CI/AFU1) Betreff: Re: [SR-Users] "select count(*)" with avp_db_query always returns null On 7/5/11 11:39 AM, Alex Hermann wrote: > On Wednesday 29 June 2011, Andrade Ricardo (CI/AFU1) wrote: >> Perhaps this fits better into a bug report, but I'd like to know if >> somebody out there experienced a similar issue. I am executing a "select >> count" query using the avp_db_query function, but it is not storing the >> results in any avp. Other queries are working fine. I use db_mysql >> connected with a mysql 5.1 server. >> >> I have tested this with kamailio-3.1.0 and kamailio-3.1.3, both didn't >> work. In an old box (version 1.3.x), the same query was returning the >> correct value. >> >> --------------------------------------------------- >> Here is the case which is not working: >> >> Code: >> avp_delete("$avp(s:count)"); >> $var(ret) = avp_db_query("SELECT count(*) FROM subscriber where >> username='foo'", "$avp(s:count)"); >> xlog("L_INFO", "var(ret)=$var(ret) avp(s:count)=$avp(s:count)"); >> >> >> Output: >> INFO:<script>: var(ret)=1 avp(s:count)=<null> >> >> (notice the return code 1, which means that the query was successfull and >> there should be some output value stored in the avp, but it is<null>) > The return type of the COUNT() function is a BIGINT, which is ignored in > kamailio. The attached patch converts the lower 32 bits of the result to an > int usable by kamailio. I'll push this eventually. Thanks for quick reaction and patch. Go ahead and commit it. Cheers, Daniel -- Daniel-Constantin Mierla -- http://www.asipto.com http://linkedin.com/in/miconda -- http://twitter.com/miconda _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users