<br><br><div class="gmail_quote">On Tue, Jan 12, 2010 at 11:29 PM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de" target="_blank">andreas.raab@gmx.de</a>&gt;</span> 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>Mariano Martinez Peck wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The biggest problem I found with the ODBC driver for Squeak is that it uses FFI and it locks the complete VM during the function invocation. In ODBC, queries are synchronous, so, if you have a website with multipleusers, and someone sends a query, it is likely the complete vm will be locked until it finishes.<br>


</blockquote>
<br></div>
I&#39;ve been wondering about that. It says here (<a href="http://wiki.squeak.org/squeak/6129" target="_blank">http://wiki.squeak.org/squeak/6129</a>):<br>
---------------------------------------<br>
OpenDBX and FFI<br>
You can have a common problem which is that SqueakDBX, trough FFI...<br>
---------------------------------------<br>
<br>
This implies you&#39;re using FFI to talk to OpenDBX.<br>
How&#39;s that different from ODBC?<br>
<br></blockquote><div><br>That&#39;s exatly what it is explained in the slides, even with sequence diagrams.<br><br>OpenDBX, when possible, uses asynchronous queries. This means that
it just calls a function to send the query, and then, it loops asking
&quot;is it ready?&quot;  until the query is done So, we have &quot;little locks&quot;. The
goods news is that after asking, if there are other process in the
queue, it should be processed. With this way we process several queries
&quot;at the same time.&quot;.  Se the method   DBXPlatform &gt;&gt;
processNextResultSet: aConnection querySettings: aQuerySettings<br>
<br>where we do:     (code = OpenDBX resultTimeout) ifTrue: [ (Delay
forMilliseconds: (aQuerySettings timeout asMiliseconds)) wait  ].<br>            <br>It is not the best solution, of course, but we are limited to FFI implementation.<br><br>I
said &quot;OpenDBX, when possible&quot;  because it not depends only in OpenDBX
but also in the client library. Some support this and some doesn&#39;t. But
I think most engines support this. I know PostgreSQL does. BTW, which
OS are you deploying on ?<br>
<br>Mariano<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Cheers,<br>
  - Andreas<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>
<br>
You can see what I am talking about in my slides:  <a href="http://www.slideshare.net/esug/squeak-dbx" target="_blank">http://www.slideshare.net/esug/squeak-dbx</a><br>
<br>
There I compare both drivers. I am not an ODBC expert, so if someone think that that&#39;s incorrect, please let me know.<br>
<br>
Cheers<br>
<br>
Mariano<br>
<br></div>
2010/1/12 Miguel Enrique Cobá Martinez &lt;<a href="mailto:miguel.coba@gmail.com" target="_blank">miguel.coba@gmail.com</a> &lt;mailto:<a href="mailto:miguel.coba@gmail.com" target="_blank">miguel.coba@gmail.com</a>&gt;&gt;<div>

<br>
<br>
    El mar, 12-01-2010 a las 15:49 -0500, John Chludzinski escribió:<br>
     &gt; Took your all’s advice and switched to the ODBC driver.  Works well !<br>
     &gt; Thanks.  ---John<br>
<br>
    Well, is your codebase but I would like to know why SqueakDBX isn&#39;t good<br>
    enough for you. AFAICT SqueakDBX is being maintained currently. Haven&#39;t<br>
    seen much about ODBC in this lists in the past 3 years.<br>
<br>
    Anyway, if it fits to your project then that&#39;s is enough.<br>
<br>
    Cheers<br>
    --<br>
    Miguel Cobá<br>
    <a href="http://miguel.leugim.com.mx" target="_blank">http://miguel.leugim.com.mx</a><br>
<br>
<br>
<br>
<br></div>
------------------------------------------------------------------------<br>
<br>
<br>
</blockquote>
<br>
<br>
</blockquote></div><br>