From: | "Jagadish Prasath Ramu" <jagadish(dot)ramu(at)Sun(dot)COM> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #2444: XA Connections given by posgres driver has auto-commit value false by default |
Date: | 2006-05-19 10:09:24 |
Message-ID: | 200605191009.k4JA9OjS042465@wwwmaster.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-jdbc |
The following bug has been logged online:
Bug reference: 2444
Logged by: Jagadish Prasath Ramu
Email address: jagadish(dot)ramu(at)Sun(dot)COM
PostgreSQL version: posgres driver
Operating system: Fedora Core 4, Solaris
Description: XA Connections given by posgres driver has auto-commit
value false by default
Details:
Problem with PostgresDriver : postgresql-8.1-405.jdbc3.jar
I am using the above driver to get an XA Connection and I found that
auto-commit value of it is false by default.
Source : org/postgresql/xa/PGXAConnection.java
Constructor :
PGXAConnection(BaseConnection conn) throws SQLException
{
super(conn, false);
this.conn = conn;
this.conn.setAutoCommit(false);
this.state = STATE_IDLE;
this.logger = conn.getLogger();
}
From JDBC Specification 3.0, Chapter 10.1.1 > Disabling AutoCommit mode :
" The default is for auto-commit mode to be enabled when the Connection
object is
created. If the value of auto-commit is changed in the middle of a
transaction, the
current transaction is committed. It is an error to enable auto-commit for
a
connection participating in a distributed transaction, as described in
Chapter 12
Distributed Transactions. "
Chapter 12 > 12.4 Transaction Management :
"In contrast to the local case, the boundaries of a
distributed transaction must be controlled by an external transaction
manager that is
coordinating the work of multiple connections. For this reason, it is an
error for
applications to call any of the following Connection methods while they are
participating in a distributed transaction:
setAutoCommit(true)
commit
rollback
setSavepoint
The JDBC driver throws an SQLException if one of these operations is
attempted
on a connection that is participating in a distributed transaction. If the
connection is
later used for a local transaction, these operations are legal at that
point."
From these excerpts what I could understand is auto-commit for XA's
connection need to be true when created and auto-commit can not be set to
true when a transaction in progress.
Thanks,
-Jagadish
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-05-19 13:23:06 | Re: sequences problem |
Previous Message | Tom Lane | 2006-05-18 19:57:52 | Re: BUG #2441: All useable indexes for an IN are used, not just one |
From | Date | Subject | |
---|---|---|---|
Next Message | sathish kumar shanmugavelu | 2006-05-20 09:27:04 | Re: jdbc driver problem? |
Previous Message | Kris Jurka | 2006-05-18 22:21:56 | Re: Automatic cast |