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

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: Read transactions don't work on 7.0.x db's
Дата
Msg-id 3B904815.8050507@xythos.com
обсуждение исходный текст
Ответ на Re: Read transactions don't work on 7.0.x db's  ("Dave Cramer" <Dave@micro-automation.net>)
Ответы Re: Read transactions don't work on 7.0.x db's
Список pgsql-jdbc
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
>
>



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: truncated InputStream returned with getAsciiInputStream()
Следующее
От: Justin Clift
Дата:
Сообщение: Need help with JDBC driver. Problem, - getExportedKeys = Driver.notImplemented() exception