Re: [BUGS] BUG #2444: XA Connections given by posgres driver has

From: Jagadish Prasath Ramu <Jagadish(dot)Ramu(at)Sun(dot)COM>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [BUGS] BUG #2444: XA Connections given by posgres driver has
Date: 2006-05-23 06:14:34
Message-ID: 1148364874.4088.7.camel@sunonehpux1.india.sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-jdbc

Hi Kris,
I am trying to use this XA-Connection without any transaction context.

eg: I have a test case using 2 XA-Connections on 2 different DBs and
DB-operations go fine.
As a part of the test, I need to check whether the data is actually is
persisted.
In this case, I get a connection (XAConnection) from the datasource and
do a query. This connection's auto-commit value is false.
According to the JDBC 3.0 Specification, auto-commit need to be true
when created. [ my case ]
Only when the connection is taking part in a transaction, setting
auto-commit value is not allowed.

Since I am using the connection without any transaction context,
auto-commit need to be true in this case according to the specification.

Thanks,
-Jagadish

On Mon, 2006-05-22 at 15:14 -0500, Kris Jurka wrote:

> Moving to -jdbc.
>
> On Fri, 19 May 2006, Jagadish Prasath Ramu wrote:
>
> > The following bug has been logged online:
> >
> > Bug reference: 2444
> > 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.
> >
>
> I'm not sure what the purpose of this is. Why would you want a connection
> to be in autocommit = true when this is a condition you are explicitly not
> allowed to set yourself?
>
> Kris Jurka
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Chris Smith 2006-05-23 06:58:03 Re: [BUGS] BUG #2444: XA Connections given by posgres driver has
Previous Message Alex Weslowski 2006-05-23 03:27:01 BUG #2451: Short column names return no values within function

Browse pgsql-jdbc by date

  From Date Subject
Next Message Chris Smith 2006-05-23 06:58:03 Re: [BUGS] BUG #2444: XA Connections given by posgres driver has
Previous Message Kris Jurka 2006-05-22 23:17:14 Re: DatabaseMetaData