<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:courier,monaco,monospace,sans-serif;font-size:12pt">This is quite the thread. Maybe we can generate this enthusiasm for other aspects of the project as well.<br><br>Does anyone want to volunteer to test the code by using <br>the odbc in both the sofia module as the reg db and from javascript<br><div>in some random application and simulate the db going down using odbc against several popular db variants and finding the best code to make sure that nothing goes wrong? I am more than happy to accept the result of such a vigorous endeavor over just speculation about what's best.<br><br>I have to do most of the code you see here by myself so I have limited<br>time to devote to certain aspects so please let me know if anyone wants to adopt some tasks and help make the project better.<br><br><br><br></div><div>Anthony Minessale II<br><br><span>FreeSWITCH <a
 target="_blank" href="http://www.freeswitch.org/">http://www.freeswitch.org/</a></span><br><span>ClueCon <a target="_blank" href="http://www.cluecon.com/">http://www.cluecon.com/</a></span><br><br>AIM: anthm<br>MSN:anthony_minessale@hotmail.com<br>GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<br>IRC: irc.freenode.net #freeswitch</div><div><br>FreeSWITCH Developer Conference<br>sip:888@conference.freeswitch.org<br>iax:guest@conference.freeswitch.org/888<br>googletalk:conf+888@conference.freeswitch.org<br>pstn:213-799-1400</div><div style="font-family: courier,monaco,monospace,sans-serif; font-size: 12pt;"><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Łukasz Zwierko &lt;lzwierko@gmail.com&gt;<br>To: freeswitch-users@lists.freeswitch.org<br>Sent: Wednesday, February 20, 2008 8:51:51 AM<br>Subject: Re: [Freeswitch-users] Spidermonkey ODBC<br><br>
Hi,<br><br>I think you guys have a wrong approach to this issue, as far as I'm concerned, a well written application should have clear distinction between connection layer and sql layer. What I mean is that if application wants to do a query to DB, than handling issues like dropped connection should not be mixed with inserts/selects. <br>
So, for example, there should exist a separate layer&nbsp; which is responsible for generating queries, and separate layer which actually makes the query, handles errors and optionally, repeats the query or insert (refer to java spring/hibernate - quite heavy java engines).<br>
This way you could avoid any "select 1" or such like stuff every time you want to do a transaction to DB.<br>Still you feel that "select 1" is a better choice, but not all DB support it, you could just make an assumption, that in each DB there shall exist a table with just one column and row, and make a query to it (can call it KeepAliveTable).<br>
<br>Still, in my opinion the application should not test the connection each time it wants to make a transaction as the overhead will be huge.<br><br>Łukasz<br><br><br><div><span class="gmail_quote">2008/2/20, Anthony Minessale &lt;<a rel="nofollow" ymailto="mailto:anthmct@yahoo.com" target="_blank" href="mailto:anthmct@yahoo.com">anthmct@yahoo.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: courier,monaco,monospace,sans-serif; font-size: 12pt;">Many databases break silently or the connection drops<br>without any way to know for sure w/o trying to use it.<br><br>I choose to ensure in the core that the data is connected.<br>
executing "select 1" is a small price to pay to make sure<br>that the database is connected considering the importance<br>of persistent connectivity in the sip, jingle and call<br>limit databases as well as the javascript that rely on it.<br>
<br>All of those applications to make the safe<br>assumption that the core will keep the db connected and<br>to change that would be drastic behavior change and <br>destabilize the code on the eve of our release.<br>&nbsp;<br>
Therefore i guess we should focus on better heuristics<br>to detect firebird, preferably based on the driver name<br>and not by doing a 2nd sql stmt every
 time.<span class="q"><br><br><br><div>&nbsp;</div><div>Anthony Minessale II<br><br><span>FreeSWITCH <a rel="nofollow" target="_blank" href="http://www.freeswitch.org/">http://www.freeswitch.org/</a></span><br>
<span>ClueCon <a rel="nofollow" target="_blank" href="http://www.cluecon.com/">http://www.cluecon.com/</a></span><br><br>AIM: anthm<br><a rel="nofollow" ymailto="mailto:MSN:anthony_minessale@hotmail.com" target="_blank" href="mailto:MSN:anthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>
GTALK/JABBER/PAYPAL:<a rel="nofollow" ymailto="mailto:anthony.minessale@gmail.com" target="_blank" href="mailto:anthony.minessale@gmail.com">anthony.minessale@gmail.com</a><br>IRC: <a rel="nofollow" target="_blank" href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch</div>
<div><br>FreeSWITCH Developer Conference<br><a rel="nofollow" ymailto="mailto:sip:888@conference.freeswitch.org" target="_blank" href="mailto:sip:888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a rel="nofollow" ymailto="mailto:googletalk:conf+888@conference.freeswitch.org" target="_blank" href="mailto:googletalk:conf+888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400</div></span><div style="font-family: courier,monaco,monospace,sans-serif; font-size: 12pt;">
<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><span class="q">----- Original Message ----<br>From: David Revill &lt;<a rel="nofollow" ymailto="mailto:davidrevill@datarun.co.uk" target="_blank" href="mailto:davidrevill@datarun.co.uk">davidrevill@datarun.co.uk</a>&gt;<br>
To: <a rel="nofollow" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a><br></span><div><span class="e" id="q_118372f87832c5f2_4">Sent: Tuesday, February 19, 2008 4:37:28
 PM<br>Subject: Re: [Freeswitch-users] Spidermonkey ODBC<br><br>


 



<div><font face="Arial" size="2">
<div><font face="Arial" size="2">Unfortunately, there isn't a universal ansi sql 
stmt that will do it as the only statements which can be guaranteed to follow 
the ansi standard are the simple select, update and delete statements which rely 
on knowing some table name .&nbsp; </font></div>
<div>&nbsp;</div></font></div>
<div><font face="Arial" size="2">I think we are trying to solve a problem which need 
not exist. The Javascript application should handle the idle timeout.&nbsp;It 
should close the connection if it will not be using it for a while, 
and,if&nbsp;it needs to, can do what db_is_up is attempting to do in the 
application code.&nbsp;Testing for connection before every query&nbsp;seems an 
unneccessary overhead. </font></div>
<div><font face="Arial" size="2"></font>&nbsp;</div>
<blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- Original Message ----- </div>
  <div style="background: rgb(228, 228, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b> 
  <a rel="nofollow" title="anthmct@yahoo.com" ymailto="mailto:anthmct@yahoo.com" target="_blank" href="mailto:anthmct@yahoo.com">Anthony 
  Minessale</a> </div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> <a rel="nofollow" title="freeswitch-users@lists.freeswitch.org" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a> 
  </div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> Tuesday, February 19, 2008 6:38 
  PM</div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> Re: [Freeswitch-users] 
  Spidermonkey ODBC</div>
  <div><br></div>
  <div style="font-size: 12pt; font-family: courier,monaco,monospace,sans-serif;">is 
  there some universal ansi sql stmt that is small and harmless<br>but is 
  supported by everything? to replace "select 1"<br><br><br>
  <div>&nbsp;</div>
  <div>Anthony Minessale II<br><br><span>FreeSWITCH <a rel="nofollow" target="_blank" href="http://www.freeswitch.org/">http://www.freeswitch.org/</a></span><br><span>ClueCon <a rel="nofollow" target="_blank" href="http://www.cluecon.com/">http://www.cluecon.com/</a></span><br>
<br>AIM: 
  anthm<br><a rel="nofollow" ymailto="mailto:MSN:anthony_minessale@hotmail.com" target="_blank" href="mailto:MSN:anthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/PAYPAL:<a rel="nofollow" ymailto="mailto:anthony.minessale@gmail.com" target="_blank" href="mailto:anthony.minessale@gmail.com">anthony.minessale@gmail.com</a><br>
IRC: 
  <a rel="nofollow" target="_blank" href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch</div>
  <div><br>FreeSWITCH Developer 
  Conference<br><a rel="nofollow" ymailto="mailto:sip:888@conference.freeswitch.org" target="_blank" href="mailto:sip:888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a rel="nofollow" ymailto="mailto:googletalk:conf+888@conference.freeswitch.org" target="_blank" href="mailto:googletalk:conf+888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400</div>
  <div style="font-size: 12pt; font-family: courier,monaco,monospace,sans-serif;"><br><br>
  <div style="font-size: 12pt; font-family: times new roman,new york,times,serif;">----- 
  Original Message ----<br>From: David Revill 
  &lt;<a rel="nofollow" ymailto="mailto:davidrevill@datarun.co.uk" target="_blank" href="mailto:davidrevill@datarun.co.uk">davidrevill@datarun.co.uk</a>&gt;<br>To: 
  <a rel="nofollow" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a><br>Sent: Tuesday, February 19, 2008 
  6:56:31 AM<br>Subject: Re: [Freeswitch-users] Spidermonkey ODBC<br><br>
  

  <div><font face="Arial" size="2">One way to detect firebird would be to put the 
  'Select first 1&nbsp; * from RDB$relations' into switch_odbc_handle_connect. 
  If it succeeds then it is Firebird. A better query might be 'select * from 
  rdb$database' as the system table rdb$database only ever has 1 
  record.</font></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
    <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- 
    Original Message ----- </div>
    <div style="background: rgb(228, 228, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b> 
    <a rel="nofollow" title="jonas.gauffin@gmail.com" ymailto="mailto:jonas.gauffin@gmail.com" target="_blank" href="mailto:jonas.gauffin@gmail.com">Jonas 
    Gauffin</a> </div>
    <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> 
    <a rel="nofollow" title="freeswitch-users@lists.freeswitch.org" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a> 
    </div>
    <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> 
    Tuesday, February 19, 2008 12:18 PM</div>
    <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> 
    Re: [Freeswitch-users] Spidermonkey ODBC</div>
    <div><br></div>I''ve only tested it with firebird on windows. As you said, 
    your driver name doesnt match any of the names I used to detect if it's 
    firebird.<br><br>The problem is that most databases supports "SELECT 1" as a 
    query. It will always be successful if the the connection is up. However, 
    firebird did not support "SELECT 1" and therefore i did query the system 
    database instead.<br><br>If the firebird check fails, it will try to invoke 
    "SELECT 1", and on firebird that query will fail. And the failure is 
    interpreted as the connection is down, and therefore it tries to 
    reconnect.<br><br>That's probably why you get that error. If you have any 
    other idea on how I can detect if it's a firebird db, please let me know and 
    i'll fix the odbc code.<br><br>
    <div class="gmail_quote">On Feb 19, 2008 1:05 PM, David Revill &lt;<a rel="nofollow" ymailto="mailto:davidrevill@datarun.co.uk" target="_blank" href="mailto:davidrevill@datarun.co.uk">davidrevill@datarun.co.uk</a>&gt; 
    wrote:<br>
    <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
      <div>
      <div><font face="Arial" size="2">That's a fair point, but db_is_up is only 
      called in 2 places and the attempted re-connect could be done if the 
      exec'd query fails. That way it would not be dependant on the name of the 
      driver.</font></div>
      <div><font face="Arial" size="2"></font>&nbsp;</div>
      <div><font face="Arial" size="2">In my application, the database was queried 
      at the beginning of the script and the connection closed. It was 
      explicitly re-connected at the end to post data, so the connection timeout 
      was not an issue.</font></div>
      <blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
        <div>
        <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- 
        Original Message ----- </div>
        <div style="background: rgb(228, 228, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b> 
        <a rel="nofollow" title="jonas.gauffin@gmail.com" ymailto="mailto:jonas.gauffin@gmail.com" target="_blank" href="mailto:jonas.gauffin@gmail.com">Jonas Gauffin</a> </div>
        <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> 
        <a rel="nofollow" title="freeswitch-users@lists.freeswitch.org" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a> 
        </div></div>
        <div>
        <div></div>
        <div>
        <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> 
        Tuesday, February 19, 2008 10:35 AM</div>
        <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> 
        Re: [Freeswitch-users] Spidermonkey ODBC</div>
        <div><br></div>I did that code a couple of months ago.<br>The function 
        was added since connections are closed if they are idle too long, and 
        they were not reconnected again if that happened.<br><br><br>
        <div class="gmail_quote">On Feb 19, 2008 11:22 AM, David Revill &lt;<a rel="nofollow" ymailto="mailto:davidrevill@datarun.co.uk" target="_blank" href="mailto:davidrevill@datarun.co.uk">davidrevill@datarun.co.uk</a>&gt; 
        wrote:<br>
        <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
          <div>
          <div><font face="Arial" size="2">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.</font></div>
          <div><font face="Arial" size="2"></font>&nbsp;</div>
          <div><font face="Arial" size="2">I commented out &nbsp;the code in 
          db_is_up&nbsp;and just returned a true value, as on closer inspection 
          could not see the point of this function.</font></div><font color="#888888">
          <div><font face="Arial" size="2"></font>&nbsp;</div>
          <div><font face="Arial" size="2">David Revill</font></div></font>
          <blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
            <div>
            <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- 
            Original Message ----- </div>
            <div style="background: rgb(228, 228, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b> 
            <a rel="nofollow" title="davidrevill@datarun.co.uk" ymailto="mailto:davidrevill@datarun.co.uk" target="_blank" href="mailto:davidrevill@datarun.co.uk">David Revill</a> </div>
            <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> 
            <a rel="nofollow" title="freeswitch-users@lists.freeswitch.org" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a> 
            </div></div>
            <div>
            <div></div>
            <div>
            <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> 
            Tuesday, February 19, 2008 8:58 AM</div>
            <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> 
            Re: [Freeswitch-users] Spidermonkey ODBC</div>
            <div><br></div>
            <div><font face="Arial" size="2">I spotted this error a few months ago, 
            and to my shame did not let everyone know.&nbsp; I have since 
            archived the project so cannot point you to the actual code. 
            However, the problem is&nbsp; that it assumes the name of the 
            Firebird Driver (FB64?)&nbsp; to set a boolean, so that it handle 
            the connection test differently.</font></div>
            <div><font face="Arial" size="2"></font>&nbsp;</div>
            <div><font face="Arial" size="2">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.</font></div>
            <div><font face="Arial" size="2"></font>&nbsp;</div>
            <div><font face="Arial" size="2">regards</font></div>
            <div><font face="Arial" size="2"></font>&nbsp;</div>
            <div><font face="Arial" size="2">David Revill</font></div>
            <blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
              <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- 
              Original Message ----- </div>
              <div style="background: rgb(228, 228, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b> 
              <a rel="nofollow" title="steven.brown@justfone.com" ymailto="mailto:steven.brown@justfone.com" target="_blank" href="mailto:steven.brown@justfone.com">Steven Brown</a> </div>
              <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> 
              <a rel="nofollow" title="freeswitch-users@lists.freeswitch.org" ymailto="mailto:freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a> 
              </div>
              <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> 
              Monday, February 18, 2008 11:34 PM</div>
              <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> 
              [Freeswitch-users] Spidermonkey ODBC</div>
              <div><br></div>
              <div><font color="#000000" face="Arial" size="2">Hi,</font></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2">I'm experimenting with 
              spidermonkey&nbsp;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, </font></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2">the isql output is below 
</font></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2">isql -v 
              test<br>+---------------------------------------+<br>| 
              Connected!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>| 
              sql-statement&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>| help 
              [tablename]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>| 
              quit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>+---------------------------------------+<br>SQL&gt; select 
              first 1 * from 
              pool_phones<br>+---------------------+------------+<br>| 
              GSMNO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              | ORGNO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>+---------------------+------------+<br>| 
              0712345678&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 
              1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              |<br>+---------------------+------------+<br>SQLRowCount returns 
              1<br>1 rows fetched<br>SQL&gt;<br></font></div>
              <div><font face="Arial" size="2">however the following test code 
              calling the same query</font></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2">use("ODBC");</font></div>
              <div><font face="Arial" size="2">var db = new 
              ODBC("test","SYSDBA","masterkey");<br>db.connect();<br>db.query("select 
              first 1 *&nbsp; from pool_phones");</font></div>
              <div><font face="Arial" size="2">db.nextRow();</font></div>
              <div><font face="Arial" size="2">row = 
              db.getData();<br>console_log("INFO","HELLO " +&nbsp; row["GSMNO"] 
              &nbsp;+ "\n");</font></div>
              <div><font face="Arial" size="2">exit();</font></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2">gives the following output and then 
              just loops disconnecting and reconnecting until I shutdown 
              freeswitch<br></font></div>
              <div><font face="Arial" size="2">2008-02-18 23:26:03 [DEBUG] 
              switch_core_state_machine.c:144 switch_core_standard_on_execute() 
              </font><a rel="nofollow" ymailto="mailto:sofia/default/1000@192.168.0.7:5060" target="_blank" href="mailto:sofia/default/1000@192.168.0.7:5060"><font face="Arial" size="2">sofia/default/1000@192.168.0.7:5060</font></a><font face="Arial" size="2"> Execute 
              javascript(/usr/scripts/test1.js)<br>2008-02-18 23:26:03 [DEBUG] 
              mod_spidermonkey.c:3150 js_api_use() Loading ODBC<br>2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:145 switch_odbc_handle_connect() 
              Connecting test<br>2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174 
              switch_odbc_handle_connect() Connected to [test]<br>2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:95 switch_odbc_handle_disconnect() 
              Disconnected 0 from [test]<br>2008-02-18 23:26:03 [DEBUG] 
              switch_odbc.c:142 switch_odbc_handle_connect() Re-connecting 
              test<br>2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145 
              switch_odbc_handle_connect() Connecting test<br>2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:174 switch_odbc_handle_connect() 
              Connected to [test]<br>2008-02-18 23:26:03 [CRIT] 
              switch_odbc.c:234 db_is_up() The sql server is not responding for 
              DSN test []<br>2008-02-18 23:26:03 [INFO] switch_odbc.c:239 
              db_is_up() The connection has been re-established</font></div>
              <div><font face="Arial" size="2">...</font></div>
              <p><font face="Arial" size="2">Any ideas much appreciated</font></p>
              <p><font face="Arial" size="2">Thanks</font></p>
              <p><font face="Arial" size="2">Steve</font></p>
              <p><font face="Arial" size="2"></font>&nbsp;</p>
              <p><font face="Arial" size="2"></font>&nbsp;</p>
              <p><font face="Arial" size="2"></font>&nbsp;</p>
              <p><font face="Arial" size="2"></font>&nbsp;</p>
              <div><br><br></div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <div><font face="Arial" size="2"></font>&nbsp;</div>
              <p></p><span style="border-top: 1px solid rgb(128, 128, 128); border-bottom: 1px solid rgb(212, 208, 200); margin: 8px 0px; overflow: hidden; width: 100%; background-color: black;"></span>
              <p></p>_______________________________________________<br>Freeswitch-users 
              mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote>
            <p></p><span style="border-top: 1px solid rgb(128, 128, 128); border-bottom: 1px solid rgb(212, 208, 200); margin: 8px 0px; overflow: hidden; width: 100%; background-color: black;"></span>
            <p></p>_______________________________________________<br>Freeswitch-users 
            mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></div></div></blockquote></div><br>_______________________________________________<br>
Freeswitch-users 
          mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br><br></blockquote></div><br></div></div>
        <p></p><span style="border-top: 1px solid rgb(128, 128, 128); border-bottom: 1px solid rgb(212, 208, 200); margin: 8px 0px; overflow: hidden; width: 100%; background-color: black;"></span>
        <div>
        <p></p>_______________________________________________<br>Freeswitch-users 
        mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></div></blockquote></div><br>_______________________________________________<br>
Freeswitch-users 
      mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br><br></blockquote></div><br>
    <p></p><span style="border-top: 1px solid rgb(128, 128, 128); border-bottom: 1px solid rgb(212, 208, 200); margin: 8px 0px; overflow: hidden; width: 100%; background-color: black;"></span>
    <p></p>_______________________________________________<br>Freeswitch-users 
    mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote>
  <div><br><br>-----Inline Attachment 
  Follows-----<br><br>_______________________________________________<br>Freeswitch-users 
  mailing list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></div></div><br></div></div><br>
  <hr size="1">
  Be a better friend, newshound, and know-it-all with Yahoo! Mobile. <a rel="nofollow" target="_blank" href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ%20">Try 
  it now.</a>
  <p>
  </p><span style="border-top: 1px solid rgb(128, 128, 128); border-bottom: 1px solid rgb(212, 208, 200); margin: 8px 0px; overflow: hidden; width: 100%; background-color: black;"></span>

  <p></p>_______________________________________________<br>Freeswitch-users 
  mailing 
  list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote><div><br><br>-----Inline Attachment Follows-----<br><br>_______________________________________________<br>
Freeswitch-users 
mailing 
list<br><a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></div></span></div></div><span class="ad"><br></span></div></div><span class="ad"><br>

      <hr size="1">Looking for last minute shopping deals? <a rel="nofollow" target="_blank" href="http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping"> 
Find them fast with Yahoo! Search.</a></span></div><br>_______________________________________________<br>
Freeswitch-users mailing list<br>
<a rel="nofollow" ymailto="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br>
<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a rel="nofollow" target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>

<a rel="nofollow" target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>
<!-- kill --><div><br><br>-----Inline Attachment Follows-----<br><br>_______________________________________________<br>Freeswitch-users 
mailing 
list<br><a ymailto="mailto:Freeswitch-users@lists.freeswitch.org" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div></div><br></div></div><br>
      <hr size=1>Looking for last minute shopping deals? <a href="http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping"> 
Find them fast with Yahoo! Search.</a></body></html>