<br><br><div class="gmail_quote">On Wed, Jan 13, 2010 at 12:00 AM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">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 class="im">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;">
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>
           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>

</blockquote>
<br></div>
RHEL 5.3 + unixODBC + MySQL. BTW, it&#39;s not as if ODBC doesn&#39;t support asynchronous operations either (see for example <a href="http://msdn.microsoft.com/en-us/library/ms713563%28VS.85%29.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms713563%28VS.85%29.aspx</a>) </blockquote>
<div><br>Thanks for the link. I wasn&#39;t aware of that. However, do you know which function does the squeak ODBC driver calls ? because maybe there are asynchronous  queries, but the driver is calling the synchronous ones.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">if the drivers support it. Unfortunately, I&#39;ve found that &quot;if the driver supports it&quot; means mostly flipping a coin.<br>

<br></blockquote><div><br>Yes, true. At least in OpenDBX it always tries to use them if possible. <br><br>I use to know (I asked OpenDBX developer) which backend and in which OS it could be asynchronous, but I don&#39;t find it. Maybe I should ask again. <br>
<br>Cheers<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><font color="#888888">
  - Andreas<br>
<br>
</font></blockquote></div><br>