UPDATE: Hangs after a few thousand iterations...
geoff at farmline.com
Fri Jan 28 11:18:35 EST 2000
"Michael Peppler" <mpeppler at peppler.org> writes:
> rwk at AmeriCom.com writes:
> > I have found the problem!
> > I you don't fetch the entire result set before starting another, it
> > appears something eventually hangs (see !!! below).
> > The while loop around the fetch seems to fix it.
> > I'm still not sure where, why, or how it hangs without it, but at least
> > now it doesn't hang.
> $sth->finish() sends a ct_cancel() to the server. There have been
> reports (on other platforms too) that this is sometimes broken, hence
> the syb_flush_finish attribute which will actually fetch all the
> remaining results in the finish() call instead of using ct_cancel().
certainly in dblib, a cancel after you've fetched the column titles from the
server only affects the current query -- so if you've got two queries in one
sqlexec and one is still pending, that one will need to be cancelled also.
If you cancel before you fetch the column titles then it cancels all
currently pending items.
This might have something to do with it.
On the other hand I might be talking out of my arse...
More information about the FreeTDS