On Thu, 2004-08-26 at 10:04, Tim Bunce wrote: > On Thu, Aug 26, 2004 at 12:02:19AM -0500, david nicol wrote: > > > > In the recent roadmap announcement, Tim Bunce wrote: > > > > > =head2 Other Enhancements > > > > > > * Support non-blocking mode for drivers that can enable it in their > > > client API. > > > > I have just startedworking with DBI but I'm doing something that would > > benefit from a non-blocking mode. > > > > I would like a $sth->ready() function, which would start false but > > become true (or throw errors when RaiseError is set) when there is > > at least one whole row available to fetch, and a $sth->done() function > > to indicate that there is nothing left to fetch. > > We would all like many things but have to settle for what's practical. > > The APIs of all the main databases which offer a non-blocking mode > (which includes at least ODBC and Oracle OCI) need to be studied first > to ensure that any DBI API design is workable for them. > > We might as well start that now... > > Can driver authors, and anyone else interested, please reply with a > short summary of the way non-blocking mode works for 'your' database. > Including URLs to relevant docs would be a *big* help.
Sybase's Client-Library API has a couple of options, but in general you can say that the client sends the query to the server in async/non-blocking mode and receives notification of pending results in a "completion" callback function. I haven't used it much, though I did implement the basic functionality in the Sybase::CTlib module. See: http://sybooks.sybase.com/onlinebooks/group-sd/sdg1251e/ctref/@Generic__BookTextView/1039;pt=799/*#X Michael -- Michael Peppler Data Migrations, Inc. [EMAIL PROTECTED] http://www.peppler.org/ Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short or long term contract positions - http://www.peppler.org/resume.html