Обсуждение: Re: Why are 'select1; commit' run along with 'set autocomm

Поиск
Список
Период
Сортировка

Re: Why are 'select1; commit' run along with 'set autocomm

От
"Mushran, Vrinda"
Дата:
> NOTE: If this method is called during a transaction, the transaction is
committed.

Thanks for pointing that out. My fault for not reading the documentation
well.

Vrinda

-----Original Message-----
From: Oliver Jowett [mailto:oliver@opencloud.com]
Sent: Thursday, October 02, 2003 1:54 PM
To: Mushran, Vrinda
Cc: 'pgsql-jdbc@postgresql.org'
Subject: Re: [JDBC] Why are 'select1; commit' run along with 'set
autocommit=on' when turning autocommit on again on a jdbc connection


On Wed, Oct 01, 2003 at 09:23:07AM -0700, Mushran, Vrinda wrote:

> Why does the postgres jdbc driver execute 'select 1' and 'commit' followed
> by 'set autocommit = on'? Setting autocommit on again should just result
in
> 'set autocommit=on' statement to be executed, not 'select 1' and 'commit'.
> User would not expect commit to be issued by just turning autocommit on
and
> thus its execution here alarms me.

Committing the existing transaction is correct behaviour. The JDBC javadoc
for setAutoCommit includes this:

     NOTE: If this method is called during a transaction, the transaction is
committed.

Whether committing when the existing transaction hasn't done any work is
"correct" seems to be a non-issue since it'll always be harmless by
definition.

-O