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.

After that there are deep and non-trivial issues about how non-blocking
mode would interact with the DBI dispatcher and DBI.pm library code.
But those issues can wait.

Tim.

Reply via email to