[sr-dev] redis module support for array responses.

Vicente Hernando vhernando at systemonenoc.com
Wed Apr 4 13:22:03 CEST 2012


Hello,

here comes attached a patch to add array support for ndb_redis module.

This patch is based on parts of sqlops module.

it maintains old options: $redis->type and $redis->value, but for arrays 
there are new options enabled.

$redis->size   -  returns number of array elements.

$redis->type[n]  -  returns type of nth array element.

$redis->value[n]  -  returns value of nth array element.

$redis->type  -  returns array type as in hiredis.h

$redis->value  -  returns null for arrays.


Regards,
Vicente.

PS: This is my first patch to the list. Any criticism is welcome!


On 03/30/2012 11:47 AM, Daniel-Constantin Mierla wrote:
> Hello,
>
> indeed redis connector is dealing string and integer values by now.
>
> Extending it for dealing with arrays will be useful, proposed variant 
> looks good for me. If you are going to contribute a patch, it will be 
> accepted (and appreciated).
>
> Cheers,
> Daniel
>
> On 3/29/12 8:14 PM, Vicente Hernando wrote:
>> Hello,
>>
>> I am studying the use case when a redis command returns an array 
>> (REDIS_REPLY_ARRAY type in hiredis.h from 
>> https://github.com/antirez/hiredis )
>>
>> Function pv_get_redisc in kamailio/modules/ndb_redis/ndb_redis_mod.c 
>> : 365  returns a pv_value_t structure and currently only deals with 
>> REDIS_REPLY_STRING
>> and REDIS_REPLY_INTEGER cases.
>>
>> It seems looking at pvar.h that pv_value_t structure does not deal 
>> with arrays. Is that correct? So returning an array is not an option...
>>
>> Then a better aproach could be changing pv_parse_redisc_name function:
>>
>> right now from README in ndb_redis:
>> after executing redis_cmd("srvN", "SET foo bar", "r");     I could 
>> get   $redis(r->type)   and $redis(r->value)
>>
>> it could be a good idea to add options like:  $redis(r->size)   and  
>> $redis(r->value[Number])     when changing pv_parse_redisk_name 
>> function.
>>
>>
>> Do you think of that as a good approach?
>>
>>
>> Thanks in advance!
>> Vicente.
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: redis_array.patch
Type: text/x-diff
Size: 9081 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20120404/86ccc23c/attachment-0001.patch>


More information about the sr-dev mailing list