Dave,
The multiple statements in one call is there for performance reasons.
Please don't remove it entirely since it works fine in 7.1 and 7.2.
Instead your fix should be conditional based on server version:
if (autoCommit)
ExecSQL("end");
else {
ifMinumumServerVersion("7.1") {
ExecSQL("begin; " + getIsolationLevelSQL());
} else {
ExecSQL("begin");
ExecSQL(getIsolationLevelSQL());
}
}
thanks,
--Barry
Dave Cramer wrote:
> Here's a patch to fix the problem below
>
> Dave
>
> -----Original Message-----
> From: pgsql-jdbc-owner@postgresql.org
> [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Dave Cramer
> Sent: August 30, 2001 8:51 PM
> To: pgsql-jdbc@postgresql.org
> Subject: [JDBC] Read transactions don't work on 7.0.x db's
>
>
> The following code fails on a 7.0 db, but works on a 7.1 db
>
> It works fine with the 7.0 jar, but not with the latest code
>
> I had a quick look and everything looks ok. I am going to keep looking
> but I thought I would throw this out and see if anyone knows what is
> going on
>
> Dave
>
> package test;
> import java.sql.*;
> /**
> * Title:
> * Description:
> * Copyright: Copyright (c) 2001
> * Company:
> * @author
> * @version 1.0
> */
>
> public class TransactionSelect {
>
> public TransactionSelect()
> {
> }
> public static Connection getConnection( String url, String user,
> String password)
> {
> try {
> Class.forName("org.postgresql.Driver");
> return java.sql.DriverManager.getConnection(url,user,password);
> } catch(ClassNotFoundException ex) {
> ex.printStackTrace(System.out);
> } catch(SQLException ex) {
> ex.printStackTrace(System.out);
> }
> return null;
> }
>
> public static void main(String[] args)
> {
>
> try{
> Connection con =
> getConnection("jdbc:postgresql://192.168.1.1/davec","davec","");
> if (con == null){
> throw new RuntimeException("no Connection");
> }
> con.setAutoCommit(false);
> PreparedStatement pstmt = con.prepareStatement("select * from
> categories" );
> ResultSet rs = pstmt.executeQuery();
> con.commit();
> con.close();
> }catch (SQLException ex){
> ex.printStackTrace(System.out);
> }
> }
> }
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>
> Connection.patch
>
> Content-Type:
>
> application/octet-stream
> Content-Encoding:
>
> quoted-printable
>
>
> ------------------------------------------------------------------------
> Part 1.3
>
> Content-Type:
>
> text/plain
> Content-Encoding:
>
> binary
>
>