Sterin, Ilya writes:
> Guess I'm more convinced now of the benefits. The notification model would
> probably be more efficient (timing wise), in my opinion, though both should
> be OK without possibility of collisions. Is there a way to implement this
> on the DBD level without touching DBI, since not all DBMS's support this and
> if they do, in the same way.
The downside of the notication model (at least at the Sybase API
level) is that it is signal based, and I don't know how well this will
work with perl's signal handling.
Right now I'm playing around with adding the polling model to
Sybase::CTlib. Once that works I'll look into what needs to be done
for DBD::Sybase to handle this (via $dbh->func() calls, to start
off).
Michael
> -----Original Message-----
> From: Michael Peppler
> To: [EMAIL PROTECTED]
> Sent: 8/9/01 11:12 AM
> Subject: RE: background sql queries
>
> Sterin, Ilya writes:
> > True, I wonder if that would greatly benefit DBI, I can't see a case
> where
> > it would prove better than threading/forking. It would still fork
> > internally in the DBD though, right?
>
> No - it'd use non-blocking IO to communicate with the server. The
> Sybase OC libs can do this either using a polling model (send the
> request, and then poll at intervals to see if there is anything to be
> processed (sort of like select())), or via a notification model
> (register a notification callback, which gets called when an async
> request completes).
>
> Meanwhile the main code line can do other things.
>
> I haven't felt the need to use this up to now, but I may add this to
> the Sybase::CTlib module for the next release.
>
> Michael
>
>
> > -----Original Message-----
> > From: Michael Peppler
> > To: [EMAIL PROTECTED]
> > Sent: 8/9/01 10:47 AM
> > Subject: RE: background sql queries
> >
> > Sterin, Ilya writes:
> > > Well that's called forking. Weather you implement yourself, or
> DBD's
> > > implement for you, you still must fork or spawn a thread in order
> to
> > do
> > > anything while the processing in progress.
> >
> > Actually you could do that if DBI (and the driver) supported
> > asynchronous calls...
> >
> > Michael
> >
> >
> > > -----Original Message-----
> > > From: Giotto De Filippi
> > > To: Sterin, Ilya; '[EMAIL PROTECTED] '
> > > Sent: 8/9/01 8:22 AM
> > > Subject: RE: background sql queries
> > >
> > > No, I do not mean forking.
> > >
> > > I want my program to be single threaded. What I want would be
> > somehting
> > > like:
> > >
> > > $qh = $dbh->prepare("blabla");
> > > $qh->execute;
> > >
> > > while (!$qh->is_ready)
> > > {
> > > print "SQL is busy processing your query, please
> wait...\n";
> > > }
> > >
> > > @results = $qh->fetchrow_array;
> > >
> > > thanx for your help
> > >
> > > At 08:16 AM 8/9/2001 -0600, Sterin, Ilya wrote:
> > > >You mean forking??? You can do anything in the background by
> > creating
> > > >another process with fork(). You can also use Thread, though I
> > don't
> > > know
> > > >how stable it is as of now.
> > > >
> > > >Also note that you will not achieve parallel processing unless
> you
> > are
> > > on a
> > > >multi-processor system, but that's irrelevant to the simple task
> you
> > > are
> > > >trying to accomplish.
> > > >
> > > >Ilya
> > > >
> > > >-----Original Message-----
> > > >From: Giotto De Filippi
> > > >To: [EMAIL PROTECTED]
> > > >Sent: 8/9/01 7:43 AM
> > > >Subject: background sql queries
> > > >
> > > >(Sorry, may be a double post but I don't know if the other
> message
> > went
> > > >throught as I was still not registered)
> > > >
> > > >Hello,
> > > >
> > > >Can I do SQL background queries with DBI?
> > > >
> > > >like instead of doing ->prepare, ->execute and ->fetchrow_hashref
> > > >something
> > > >like ->is_ready, to do before fetchrow, so for example I could do
> > other
> > > >things with my perl program while it's waiting for the sql
> databsae
> > to
> > > >return the result.
> > > >
> > > >Thanx much
> > > >
> > > >Giotto
> > > >
> > > >
> > > >
> > > >----------------------------------------------
> > > >Giotto De Filippi
> > > >Web Marketer / Programmer
> > > >E - Mail: [EMAIL PROTECTED]
> > > >ICQ: 17988776
> > > >----------------------------------------------
> > >
> > > ----------------------------------------------
> > > Giotto De Filippi
> > > Web Marketer / Programmer
> > > E - Mail: [EMAIL PROTECTED]
> > > ICQ: 17988776
> > > ----------------------------------------------
> >
> > --
> > Michael Peppler - Data Migrations Inc. -
> http://www.mbay.net/~mpeppler
> > [EMAIL PROTECTED] - [EMAIL PROTECTED]
> > International Sybase User Group - http://www.isug.com
>
> --
> Michael Peppler - Data Migrations Inc. - http://www.mbay.net/~mpeppler
> [EMAIL PROTECTED] - [EMAIL PROTECTED]
> International Sybase User Group - http://www.isug.com
--
Michael Peppler - Data Migrations Inc. - http://www.mbay.net/~mpeppler
[EMAIL PROTECTED] - [EMAIL PROTECTED]
International Sybase User Group - http://www.isug.com