Re: Statement.java patch (Postgresql 7.1.3)

Поиск
Список
Период
Сортировка
Искать
От
Barry Lind
Тема
Re: Statement.java patch (Postgresql 7.1.3)
Дата
Msg-id
3C3DD362.5000302@xythos.com
Список
Дерево обсуждения
Re: Statement.java patch (Postgresql 7.1.3) Barry Lind <barry@xythos.com>
Ed,

If you look at current sources you will see that this has already been 
fixed in 7.2.

thanks,
--Barry



Ed Yu wrote:

> The use of Connection.setAutoCommit(false) will not work with batch mode.
> The following is a patch to properly fix up the Statement.java (jdbc2):
> 
> *** Statement.java.orig Fri Feb 16 11:45:00 2001
> --- Statement.java      Wed Jan  9 22:40:34 2002
> ***************
> *** 377,389 ****
>         int size=batch.size();
>         int[] result=new int[size];
>         int i=0;
> !       this.execute("begin"); // PTM: check this when autoCommit is false
>         try {
>             for(i=0;i                 result[i]=this.executeUpdate((String)batch.elementAt(i));
> !           this.execute("commit"); // PTM: check this
>         } catch(SQLException e) {
> !           this.execute("abort"); // PTM: check this
>             throw new PSQLException("postgresql.stat.batch.error",new
> Integer(i),batch.elementAt(i));
>         }
>         return result;
> --- 377,396 ----
>         int size=batch.size();
>         int[] result=new int[size];
>         int i=0;
> !
> !       // Modified by Ed Yu 
> !       // We want to use a transaction even if autoCommit is true which
> !       // is the default for JDBC.
> !       if (connection.getAutoCommit())
> !               this.execute("begin");
>         try {
>             for(i=0;i                 result[i]=this.executeUpdate((String)batch.elementAt(i));
> !             // If autoCommit is true, then commits
> !             if (connection.getAutoCommit())
> !               this.execute("commit");
>         } catch(SQLException e) {
> !           this.execute("abort"); // This is ok since transaction is always
> on
>             throw new PSQLException("postgresql.stat.batch.error",new
> Integer(i),batch.elementAt(i));
>         }
>         return result;
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 
> 


В списке pgsql-jdbc по дате отправления
От: Ryouichi Matsuda
Дата:
От: Barry Lind
Дата:
FAQ