On Feb 12, 2004, at 3:42 AM, Bart Lateur wrote:
On Thu, 12 Feb 2004 10:55:56 +0000, Tim Bunce wrote:
All I'm proposing to change is to add a way for drivers to indicate if they are in a transaction or not, and then to use that to disable the warning.
That reminds me... I haven't used it in years, but I recall that last
time I used DBD::ODBC combined with MS-SQL Server, in non-autocommit
mode, that I had to do a rollback() after a simple SELECT statement not
an update, before a disconnect, or it would complain. It looked like it
did quite keep proper track on whether it was inside a transaction or
not. Perhaps that has been fixed years ago.
Sybase IQ Multiplex has exactly the same behavior. You have to rollback after every select.
I created a slightly modified DBD::Sybase (that I called DBD::SybIQ) and it works very well except for this idiosyncracy. The issue I think is on the IQ database side, where unless you rollback, it will consider you're still active and will lock out others from accessing your resources.
Henri.