[Freeswitch-users] strange things with freeswitch.Dbh at FS 1.6
Юрий Насида
ynasida at gmail.com
Tue Mar 8 22:14:43 MSK 2016
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160308/cfa0fe47/attachment.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list