Re: Statement.setQueryTimeout() with autoCommit=false - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Statement.setQueryTimeout() with autoCommit=false
Date
Msg-id CADK3HHL4G0HCj-v2L-tp2EhqNP=tuuZZqzSTMSCahWbFZdsH5A@mail.gmail.com
Whole thread Raw
In response to Statement.setQueryTimeout() with autoCommit=false  (pavel.arnost@loutka.cz)
Responses Re: Statement.setQueryTimeout() with autoCommit=false  (dmp <danap@ttc-cmc.net>)
List pgsql-jdbc
Why would the query timeout at all ?

The query timeout is for long running queries. If the query takes longer than n seconds it will timeout.

Dave

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca



On Thu, Dec 6, 2012 at 12:04 PM, <pavel.arnost@loutka.cz> wrote:
Hi,

does setQueryTimeout work with autoCommit=false? When autoCommit is true, this code timeouts after 5 seconds (as expected):

--
        Class.forName("org.postgresql.Driver");
        String url = "jdbc:postgresql://172.30.100.6/test";
        Properties props = new Properties();
        props.setProperty("user", "postgres");
        props.setProperty("password", "");

        Connection conn = DriverManager.getConnection(url, props);
        PreparedStatement st = conn.prepareStatement("INSERT INTO test VALUES('xxx')");
        st.setQueryTimeout(5);
        st.execute();
--

But if I set autoCommit to false, this code timeouts after 30 seconds on read timeout:

--
        Class.forName("org.postgresql.Driver");
        String url = "jdbc:postgresql://172.30.100.6/test";
        Properties props = new Properties();
        props.setProperty("user", "postgres");
        props.setProperty("password", "");

        Connection conn = DriverManager.getConnection(url, props);
        conn.setAutoCommit(false);
        PreparedStatement st = conn.prepareStatement("INSERT INTO test VALUES('xxx')");
        st.setQueryTimeout(5);
        st.execute();
        conn.commit();
--

I'm confused what's setQueryTimeout() method for, why it doesn't work with manual transactions?

Thanks,
Regards
Pavel


--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

pgsql-jdbc by date:

Previous
From: pavel.arnost@loutka.cz
Date:
Subject: Statement.setQueryTimeout() with autoCommit=false
Next
From: dmp
Date:
Subject: Re: Statement.setQueryTimeout() with autoCommit=false