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
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc pgsql-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

Browse pgsql-jdbc by date

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

Browse pgsql-patches by date

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