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/06 00:39:22
***************
*** 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();
      }
  
      /**
