Thread: commit after select
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. I only want to know if it is normal that I have to do a commit after a select. I use java 1.4.2_01 and postgres 7.3. The jdbc driver I use is called pg73jdbc3. Thanx in advance, Bob
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