Thread: JDBC transactions

JDBC transactions

From
Herouth Maoz
Date:
I wanted to make sure before I attempt it:

If I'm using the JDBC driver, I don't have to use explicit transaction
calls. That is, I don't have to sent the statements "BEGIN TRANSACTION" and
"END".

Instead, I have to do con.setAutoCommit(false), and then, the next SQL call
will initiate a transaction, which I end by using con.commit() or
con.rollback().

That's the documented behavior of JDBC, and what I'm asking is whether (a)
I'm correct in my interpretation, and (b) whether the current JDBC driver
provided with PostgreSQL 6.2.1 in fact behaves like this.

Herouth



Re: JDBC transactions

From
Peter T Mount
Date:
On Wed, 7 Jan 1998, Herouth Maoz wrote:

> I wanted to make sure before I attempt it:
>
> If I'm using the JDBC driver, I don't have to use explicit transaction
> calls. That is, I don't have to sent the statements "BEGIN TRANSACTION" and
> "END".
>
> Instead, I have to do con.setAutoCommit(false), and then, the next SQL call
> will initiate a transaction, which I end by using con.commit() or
> con.rollback().
>
> That's the documented behavior of JDBC, and what I'm asking is whether (a)
> I'm correct in my interpretation, and (b) whether the current JDBC driver
> provided with PostgreSQL 6.2.1 in fact behaves like this.

Briefly looking at the code, this seems to be the case. The autcomit part
of the driver hasn't changed since 6.2, so yes, this is the case.

PS: in the current implementation, con.setAutoCommit(false) itself
initiates the transaction, not the next sql call.

> Herouth

--
Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
Main Homepage: http://www.demon.co.uk/finder
Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk


Re: JDBC transactions

From
Herouth Maoz
Date:
At 18:05 +0200 on 7/1/98, Peter T Mount wrote:


> PS: in the current implementation, con.setAutoCommit(false) itself
> initiates the transaction, not the next sql call.

Ah, good of you to reveal this! This would mean that I would have to call
it again if I want another transaction to start after I've committed the
first.

Herouth

--
Herouth Maoz, B.Sc.                Work:      herouth@oumail.openu.ac.il
                                   Home:       herutma@telem.openu.co.il
HOME PAGE:                             http://www.cs.bgu.ac.il/~herouth/
Internet technical assistant              Open University, Telem Project



Re: [INTERFACES] Re: JDBC transactions

From
Peter T Mount
Date:
On Thu, 8 Jan 1998, Herouth Maoz wrote:

> At 18:05 +0200 on 7/1/98, Peter T Mount wrote:
>
>
> > PS: in the current implementation, con.setAutoCommit(false) itself
> > initiates the transaction, not the next sql call.
>
> Ah, good of you to reveal this! This would mean that I would have to call
> it again if I want another transaction to start after I've committed the
> first.

Not the case. Once you have setAutoCommit(false), calling commit()
automatically begins a new transaction. The same goes for rollback().

--
Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
Main Homepage: http://www.demon.co.uk/finder
Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk