[SR-Users] "select count(*)" with avp_db_query always returns null

Alex Hermann alex at speakup.nl
Tue Jul 5 11:39:24 CEST 2011


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.
-- 
Greetings,

Alex Hermann

-------------- next part --------------
A non-text attachment was scrubbed...
Name: avpops-treat-bigint-as-int.diff
Type: text/x-patch
Size: 779 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110705/92c8263c/attachment.bin>


More information about the sr-users mailing list