Re: commit after select

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Bob Bie <bob1234(at)pi(dot)be>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: commit after select
Date: 2004-04-05 22:05:52
Message-ID: 4071D840.3040205@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Bob Bie wrote:
> Hello,
>
> I'm writing a java program that uses transactions. For this reason I
> turned of the autocimmit in java (sqlConnection.setAutocommit(false);)
> This seems to work but now he also seems to lock the tables when I
> only do a select. I can solve this bij doing a commit after each
> select.

In general, SELECTs do not acquire locks. What behaviour leads to
believe they do?

Have you read the concurrency control chapter of the docs?
http://developer.postgresql.org/docs/postgres/mvcc.html

> I only want to know if it is normal that I have to do a commit after a
> select.

With autocommit off, a SELECT (or in fact *any* query) will start a new
transaction. It's your responsibility to eventually close that
transaction (via commit() or rollback()) at an apropriate point.

> I use java 1.4.2_01 and postgres 7.3. The jdbc driver I use is called
> pg73jdbc3.

This is quite an old driver; you're better off running the current 7.4
drivers (they will talk to a 7.3 database fine).

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2004-04-05 22:19:23 slow delivery of pgsql-jdbc mail?
Previous Message Dave Cramer 2004-04-05 22:00:37 Re: Connection Pooling, JDBC and SSL