Skip site navigation (1) Skip section navigation (2)

Re: Read transactions don't work on 7.0.x db's

From: Barry Lind <barry(at)xythos(dot)com>
To: Dave(at)micro-automation(dot)net
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Read transactions don't work on 7.0.x db's
Date: 2001-09-01 02:29:41
Message-ID: 3B904815.8050507@xythos.com (view raw or flat)
Thread:
Lists: pgsql-jdbcpgsql-patches
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(at)postgresql(dot)org
> [mailto:pgsql-jdbc-owner(at)postgresql(dot)org] On Behalf Of Dave Cramer
> Sent: August 30, 2001 8:51 PM
> To: pgsql-jdbc(at)postgresql(dot)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
> 
> 



In response to

Responses

pgsql-patches by date

Next:From: Ken HirschDate: 2001-09-01 21:17:43
Subject: Re: INTERVAL type: SQL92 implementation
Previous:From: Command Prompt, Inc.Date: 2001-09-01 02:28:50
Subject: [PATCHES] to_char and Roman Numeral (RN) bug

pgsql-jdbc by date

Next:From: Justin CliftDate: 2001-09-01 11:26:52
Subject: Need help with JDBC driver. Problem, - getExportedKeys = Driver.notImplemented() exception
Previous:From: Barry LindDate: 2001-09-01 01:37:06
Subject: Re: truncated InputStream returned with getAsciiInputStream()

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group