From: | pavel(dot)arnost(at)loutka(dot)cz |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Statement.setQueryTimeout() with autoCommit=false |
Date: | 2012-12-06 17:04:41 |
Message-ID: | 5097e057-c9b9-42f0-bed0-219eab05bb7d@googlegroups.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2012-12-06 17:54:48 | Re: Statement.setQueryTimeout() with autoCommit=false |
Previous Message | dmp | 2012-11-26 19:21:20 | Re: Problems with BIT datatype and preparedStatment |