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

Daniel-Constantin Mierla miconda at gmail.com
Tue Jul 5 11:31:07 CEST 2011


Hello,

On 6/29/11 7:35 PM, Andrade Ricardo (CI/AFU1) wrote:
> Hi list,
>
> 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>)
>
> ---------------------------------------------------
>
> And here is one case which works as expected:
>
> $var(ret) = avp_db_query("SELECT id FROM subscriber where username='foo'",
>      "$avp(s:count)");
>
> Output:
> INFO:<script>: var(ret)=1 avp(s:count)=11
>
> ---------------------------------------------------
>
> Thanks in advance for any feedback.
It might be related to the type of the value returned by mysql library 
for 'count(*)' - the avps support only integer or string values.

Have you tried also with sql_query(), is it giving the same result?

Cheers,
Daniel

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda




More information about the sr-users mailing list