[squeak-dev] Re: MySQL question?

Andreas Raab andreas.raab at gmx.de
Tue Jan 12 23:00:31 UTC 2010


Mariano Martinez Peck wrote:
> That's exatly what it is explained in the slides, even with sequence 
> diagrams.
> 
> OpenDBX, when possible, uses asynchronous queries. This means that it 
> just calls a function to send the query, and then, it loops asking "is 
> it ready?"  until the query is done So, we have "little locks". 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 
> "at the same time.".  Se the method   DBXPlatform >> 
> processNextResultSet: aConnection querySettings: aQuerySettings
> 
> where we do:     (code = OpenDBX resultTimeout) ifTrue: [ (Delay 
> forMilliseconds: (aQuerySettings timeout asMiliseconds)) wait  ].
>            
> It is not the best solution, of course, but we are limited to FFI 
> implementation.
> 
> I said "OpenDBX, when possible"  because it not depends only in OpenDBX 
> but also in the client library. Some support this and some doesn't. But 
> I think most engines support this. I know PostgreSQL does. BTW, which OS 
> are you deploying on ?

RHEL 5.3 + unixODBC + MySQL. BTW, it's not as if ODBC doesn't support 
asynchronous operations either (see for example 
http://msdn.microsoft.com/en-us/library/ms713563%28VS.85%29.aspx) if the 
drivers support it. Unfortunately, I've found that "if the driver 
supports it" means mostly flipping a coin.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list