[Freeswitch-users] Spidermonkey ODBC

David Revill davidrevill at datarun.co.uk
Tue Feb 19 02:22:37 PST 2008


The problem is in switch_odbc.c function db_is_up. It assumes that the variable is_firebird is true, but the setting of this variable assumes that the Firebird driver name has 'FIREBIRD', 'FB64' or 'FB32' in it.

I commented out  the code in db_is_up and just returned a true value, as on closer inspection could not see the point of this function.

David Revill
  ----- Original Message ----- 
  From: David Revill 
  To: freeswitch-users at lists.freeswitch.org 
  Sent: Tuesday, February 19, 2008 8:58 AM
  Subject: Re: [Freeswitch-users] Spidermonkey ODBC


  I spotted this error a few months ago, and to my shame did not let everyone know.  I have since archived the project so cannot point you to the actual code. However, the problem is  that it assumes the name of the Firebird Driver (FB64?)  to set a boolean, so that it handle the connection test differently.

  When looking at the actual code, I actually felt that the connection test was redundant, as all it did was a select from a system table. This meant it was doing two queries for everyone required. (One to see if it could do a query, and then one to do it). I therefore commented the connection test function out.

  regards

  David Revill
    ----- Original Message ----- 
    From: Steven Brown 
    To: freeswitch-users at lists.freeswitch.org 
    Sent: Monday, February 18, 2008 11:34 PM
    Subject: [Freeswitch-users] Spidermonkey ODBC


    Hi,

    I'm experimenting with spidermonkey for JavaScript call control, the basics seem fine and I'm now trying to connect to an existing Firebird database, the Firebird odbc lib is installed ok as is unixODBC and I can confirm this and access the db no problem with isql, something strange happens though when I connect in spidermonkey, basically the odbc connection is made successfully, but then as soon as I call either exec or query the odbc connection starts to drop and re-connect continuously, 

    the isql output is below 

    isql -v test
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL> select first 1 * from pool_phones
    +---------------------+------------+
    | GSMNO               | ORGNO      |
    +---------------------+------------+
    | 0712345678         | 1          |
    +---------------------+------------+
    SQLRowCount returns 1
    1 rows fetched
    SQL>

    however the following test code calling the same query

    use("ODBC");
    var db = new ODBC("test","SYSDBA","masterkey");
    db.connect();
    db.query("select first 1 *  from pool_phones");
    db.nextRow();
    row = db.getData();
    console_log("INFO","HELLO " +  row["GSMNO"]  + "\n");
    exit();

    gives the following output and then just loops disconnecting and reconnecting until I shutdown freeswitch

    2008-02-18 23:26:03 [DEBUG] switch_core_state_machine.c:144 switch_core_standard_on_execute() sofia/default/1000 at 192.168.0.7:5060 Execute javascript(/usr/scripts/test1.js)
    2008-02-18 23:26:03 [DEBUG] mod_spidermonkey.c:3150 js_api_use() Loading ODBC
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145 switch_odbc_handle_connect() Connecting test
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174 switch_odbc_handle_connect() Connected to [test]
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:95 switch_odbc_handle_disconnect() Disconnected 0 from [test]
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:142 switch_odbc_handle_connect() Re-connecting test
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145 switch_odbc_handle_connect() Connecting test
    2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174 switch_odbc_handle_connect() Connected to [test]
    2008-02-18 23:26:03 [CRIT] switch_odbc.c:234 db_is_up() The sql server is not responding for DSN test []
    2008-02-18 23:26:03 [INFO] switch_odbc.c:239 db_is_up() The connection has been re-established
    ...
    Any ideas much appreciated

    Thanks

    Steve


















----------------------------------------------------------------------------


    _______________________________________________
    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



------------------------------------------------------------------------------


  _______________________________________________
  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/20080219/038b0c38/attachment-0002.html 


More information about the FreeSWITCH-users mailing list