Re: JDBC feature request: auto savepoint per command - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: JDBC feature request: auto savepoint per command
Date
Msg-id 462D44EE.9020602@opencloud.com
Whole thread Raw
In response to JDBC feature request: auto savepoint per command  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: JDBC feature request: auto savepoint per command
List pgsql-jdbc
Tom Lane wrote:
> Some folk at JBoss (now part of Red Hat) are complaining to me that
> there's no way to deal with failing statements within a transaction
> in the context of CMT (Container Managed Transactions).  The normal
> advice would be to do SAVEPOINT and RELEASE around each statement,
> but they say this is disallowed:
>
>> It's really a question of granularity. When using CMT a global
>> transaction is not committed until the end of method completion.
>> Prior to the JDBC connection being used, autocommit is set to false
>> and the global transaction is officially started. When the global
>> transaction completes, the transaction is committed as a whole. JDBC
>> Rollback and commit within a managed transaction is prohibited as
>> this is the responsibility of the container. So, setting a savepoint
>> and rolling back (and subsequently committing) won't work in this
>> context which is what the Postgres driver requires.

They seem to be confusing rollback and commit of the managed transaction
with use of savepoints.. I don't see why the prohibition on messing with
the top-level global transaction affects use of savepoints, since use of
savepoints won't affect that top-level transaction?

-O

pgsql-jdbc by date:

Previous
From: Tom Lane
Date:
Subject: Re: Can't build postgresql-jdbc-8.2-505 on Fedora 7
Next
From: Dave Cramer
Date:
Subject: Re: Can't build postgresql-jdbc-8.2-505 on Fedora 7