[Freeswitch-users] strange things with freeswitch.Dbh at FS 1.6
Abaci B
abaci64 at gmail.com
Tue Mar 8 22:28:56 MSK 2016
Just a guess, maybe you have a null value (for either var_name or
var_value) and your mycount becomes unreliable, didn't check lately how
freeswitch.Dbh handles null values.
On Tue, Mar 8, 2016 at 2:14 PM, Юрий Насида <ynasida at gmail.com> wrote:
> Wow! Nice trick, thanks a lot :)
> It works great but I am still a bit wonder why my script worked fine with
> old version of FS.
>
> 2016-03-08 21:29 GMT+03:00 Abaci B <abaci64 at gmail.com>:
>
>> I shortened and changed your function a little, can you try it and se if
>> it makes a difference?
>> BTW you can also shorten the set to a single execution by using "multiset"
>>
>> local dbh = freeswitch.Dbh("name", "root", "passwd")
>>
>> function get_global_vars()
>> local res = {}
>> my_query = "select var_name, var_value from directory_global_vars where
>> domain_id='1'"
>> assert(dbh:query(my_query, function(qrow)
>> if qrow["var_name"] and qrow["var_value"] then
>> table.insert(row, qrow["var_name"] .. "=" .. qrow["var_value"]);
>> end))
>> return res
>> end
>>
>> local row = get_global_vars()
>>
>> for i in ipairs(row) do
>> session:execute("set", "".. row[i] .."")
>> freeswitch.consoleLog("NOTICE","row[i] is '" .. row[i] .. "'\n")
>> end
>>
>> On Tue, Mar 8, 2016 at 12:57 PM, Юрий Насида <ynasida at gmail.com> wrote:
>>
>>> Hi list,
>>>
>>> I noted that my old lua script which I used a lot of years from FS 1.2
>>> works very strange with FS 1.6
>>>
>>> The script is quite simple. I am using it for getting the list of
>>> variables from mysql and set as channel variables. Please look below.
>>>
>>> local dbh = freeswitch.Dbh("name", "root", "passwd")
>>>
>>> function get_global_vars()
>>> local row = {}
>>> local i = 1
>>> local mycount = 1
>>>
>>> my_query = "select var_name, var_value from directory_global_vars where
>>> domain_id='1'"
>>>
>>> assert(dbh:query(my_query, function(qrow)
>>>
>>> for key, val in pairs(qrow) do
>>> if mycount == 1 then
>>> abc = val
>>> mycount = 2
>>> elseif mycount == 2 then
>>> row[i] = abc.."="..val
>>> mycount =1
>>> i = i+1
>>> end
>>> end
>>>
>>> end))
>>>
>>> return row
>>>
>>> end
>>>
>>>
>>> local row = get_global_vars()
>>> for k in pairs(row) do
>>> session:execute("set", "".. row[k] .."")
>>> freeswitch.consoleLog("NOTICE","row[k] is '" .. row[k] .. "'\n")
>>> end
>>>
>>>
>>> The result in fs_cli should looks like
>>> switch_cpp.cpp:1356 simplescript start
>>> switch_cpp.cpp:1356 row[k] is *'user_context=default*'
>>> switch_cpp.cpp:1356 row[k] is '*numbering_plan=USCAN*'
>>>
>>> BUT sometimes it looks like backwards!
>>> switch_cpp.cpp:1356 simplescript start
>>> switch_cpp.cpp:1356 row[k] is '*default=user_context*'
>>> switch_cpp.cpp:1356 row[k] is '*USCAN=numbering_plan*'
>>>
>>> Please keep in mind that I do exactly same call without any changes but
>>> I have different results (its ~ 50%/50%)
>>>
>>> I am not sure but it looks like bug.
>>>
>>> Please advice.
>>> Thanks.
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://confluence.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160308/0fdb2603/attachment-0001.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list