Sybase has a known issue along these lines. From what I know it does not finish and can't be made to finish a fetchrow_array until it reads a null result. As I understand it this is a peculiarity of the Sybase library functions.
This is mentioned at Re^4: portable mysql auto_increment in relation to Sybase choking with DBIx::Sequence
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
| [reply] |
I see you found it... I know that the DBI docs specify that $sth->finish is in general not needed, but in the type of code that you used there is no way for DBD::Sybase to realize that there are no results after the single row fetched through the $sth2 handle (well, it could do a look-ahead fetch, but then it would have to store the fetched row somewhere until the script calls fetch() again. Feasible, but messy).
I should probably improve the documentation a bit to be more explicit about the need to finish executions properly, either by fetching until no more rows are found, or by using finish().
Michael | [reply] [d/l] |
I should probably improve the documentation a bit to be more explicit about the need to finish executions properly, either by fetching until no more rows are found, or by using finish().
This might help, but not me ;-(
One thing I always pray when talking about DBI is: Always finish your statements!
And then I didn't do it myself :-(
Perhaps there is room for enhancement somewhere else.
If there had been the connection parameters (server, database) somewhere in the error messages, I would have found the error earlier.
Michael, this is a feature request ;-)
| [reply] [d/l] |
| [reply] |
I know it's been almost a year, but DBD::Sybase 1.01 (to be released RSN) won't require the finish request in this situation any more.
Michael
| [reply] [d/l] |