Index: Connection.java =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/Connection.java,v retrieving revision 1.26 diff -c -r1.26 Connection.java *** Connection.java 2001/08/24 16:50:12 1.26 --- Connection.java 2001/09/04 17:21:29 *************** *** 906,912 **** if (autoCommit) ExecSQL("end"); else { ! ExecSQL("begin; " + getIsolationLevelSQL()); } this.autoCommit = autoCommit; } --- 906,917 ---- if (autoCommit) ExecSQL("end"); else { ! if (haveMinimumServerVersion("7.1")){ ! ExecSQL("begin;"+getIsolationLevelSQL()); ! }else{ ! ExecSQL("begin"); ! ExecSQL(getIsolationLevelSQL()); ! } } this.autoCommit = autoCommit; } *************** *** 935,941 **** public void commit() throws SQLException { if (autoCommit) return; ! ExecSQL("commit; begin; " + getIsolationLevelSQL()); } /** --- 940,952 ---- public void commit() throws SQLException { if (autoCommit) return; ! if (haveMinimumServerVersion("7.1")){ ! ExecSQL("commit;begin;"+getIsolationLevelSQL()); ! }else{ ! ExecSQL("commit"); ! ExecSQL("begin"); ! ExecSQL(getIsolationLevelSQL()); ! } } /** *************** *** 949,955 **** public void rollback() throws SQLException { if (autoCommit) return; ! ExecSQL("rollback; begin; " + getIsolationLevelSQL()); } /** --- 960,972 ---- public void rollback() throws SQLException { if (autoCommit) return; ! if (haveMinimumServerVersion("7.1")){ ! ExecSQL("rollback; begin"+getIsolationLevelSQL()); ! }else{ ! ExecSQL("rollback"); ! ExecSQL("begin"); ! ExecSQL(getIsolationLevelSQL()); ! } } /** *************** *** 1035,1055 **** if (haveMinimumServerVersion("7.1")) { return ""; } ! String q = "SET TRANSACTION ISOLATION LEVEL"; switch(isolationLevel) { case java.sql.Connection.TRANSACTION_READ_COMMITTED: ! q = q + " READ COMMITTED"; break; case java.sql.Connection.TRANSACTION_SERIALIZABLE: ! q = q + " SERIALIZABLE"; break; default: throw new PSQLException("postgresql.con.isolevel",new Integer(isolationLevel)); } ! return q; } /** --- 1052,1072 ---- if (haveMinimumServerVersion("7.1")) { return ""; } ! StringBuffer sb = new StringBuffer("SET TRANSACTION ISOLATION LEVEL"); switch(isolationLevel) { case java.sql.Connection.TRANSACTION_READ_COMMITTED: ! sb.append(" READ COMMITTED"); break; case java.sql.Connection.TRANSACTION_SERIALIZABLE: ! sb.append(" SERIALIZABLE"); break; default: throw new PSQLException("postgresql.con.isolevel",new Integer(isolationLevel)); } ! return sb.toString(); } /**