PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Michael Peppler <mpeppler at peppler dot org>
Subject: Re: Feature request: turn off the multiple statement handle emulation
Date: Mar 22 2006 4:52PM

On Wed, 2006-03-22 at 15:33 +0000, Avis, Ed wrote:
> If AutoCommit is off and you try to open two statement handles at the
> same time then DBD::Sybase silently opens a new database connection.
> This is documented, but I think it's a trap for the unwary, since just
> forgetting to put 'finish $sth' earlier in your program will trigger it
> and there is no warning.
> 
> I think there should be a safe mode where DBD::Sybase will never open a
> new database connection unless you explicitly ask for it.  I would even
> suggest that this mode should be the default, but it may be too late to
> change that.

The attribute is called syb_no_child_con:

       syb_no_child_con (bool)
           If this attribute is set then DBD::Sybase will not allow multiple
           simultaneously active statement handles on one database handle
           (i.e.  multiple $dbh->prepare() calls without completely processing
           the results from any existing statement handle). This can be used
           to debug situations where incorrect or unexpected results are found
           due to the creation of a sub-connection where the connection
           attributes (in particular the current database) are different.

           Default: off

I agree (now, possibly almost 8 years too late :-) that this should
probably be the default behavior.

Maybe it could be a build-time option (like the Chained mode for
AutoCommit=0).

Michael
-- 
Michael Peppler  -  mpeppler@peppler.org  -  http://www.peppler.org/
Sybase DBA/Developer - TeamSybase: http://www.teamsybase.com/
Sybase on Linux FAQ: http://www.peppler.org/FAQ/linux.html