Dave Dutcher wrote:
> You need a COMMIT for every BEGIN. If you just run a SELECT statement
> without first beginning a transaction, then you should not end up with a
> connection that is Idle in Transaction. If you are beginning a transaction,
> doing a select, and then not committing, then yes that is a bug.
The BEGIN can be hidden, though. For example, if the application is written in Perl,
$dbh = DBI->connect($dsn, $user, $pass, {AutoCommit => 0});
will automatically start a transaction the first time you do anything. Under the covers, the Perl DBI issues the BEGIN for you, and you have to do an explicit
$dbh->commit();
to commit it.
Craig