JDBC commit() not working? - Mailing list pgsql-general

From Robert Berger
Subject JDBC commit() not working?
Date
Msg-id 3B7B3AD1.C7C4E339@vtiscan.com
Whole thread Raw
In response to How can I know the disk space used by a table?  ("Andrea Aime" <aaime@comune.modena.it>)
List pgsql-general
I have some code that's doing connection pooling for some servlets. I
turn autoCommit off and let each caller determine when to commit.

Hoever, commit() does not seem to be releasing read locks, causing
my periodic VACUUM task to block.

In the following code, after commit() is called, ps shoes the backend
state as "idle in transaction". If I turn autocommit on, the state is
"idle" Why the difference?

import java.sql.*;

public class ctest {
    public static void main(String argv[]) {
    try {
        String driverName = "org.postgresql.Driver";
        Class.forName(driverName).newInstance();

        Connection con = DriverManager.getConnection(
        "jdbc:postgresql://127.0.0.1/jackson","db","zzzz");

        con.setAutoCommit(false);

        Statement stmt = con.createStatement();

        ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM s_image");
        rs.next();
        int count = rs.getInt(1);
        rs.close();

        con.commit();

        System.out.println(count);

        Thread.sleep(30000);


    } catch (Exception e) { e.printStackTrace(); }
    }
}

pgsql-general by date:

Previous
From: Jason Turner
Date:
Subject: Re: Syntax for wildcard selection
Next
From: "Alexander Fordyce"
Date:
Subject: RE: OpenBSD 2.9 - installation works fine but psql won't run