Index: src/bin/psql/common.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/common.c,v
retrieving revision 1.104
diff -c -c -r1.104 common.c
*** src/bin/psql/common.c	22 Jun 2005 21:14:30 -0000	1.104
--- src/bin/psql/common.c	20 Sep 2005 21:41:45 -0000
***************
*** 1010,1022 ****
  			return false;
  		}
  		PQclear(results);
  	}
! 	else if (transaction_status == PQTRANS_INTRANS &&
! 			 (rollback_str = GetVariable(pset.vars, "ON_ERROR_ROLLBACK")) != NULL &&
! 			 /* !off and !interactive is 'on' */
! 			 pg_strcasecmp(rollback_str, "off") != 0 &&
! 			 (pset.cur_cmd_interactive ||
! 			  pg_strcasecmp(rollback_str, "interactive") != 0))
  	{
  		if (on_error_rollback_warning == false && pset.sversion < 80000)
  		{
--- 1010,1024 ----
  			return false;
  		}
  		PQclear(results);
+ 		transaction_status = PQtransactionStatus(pset.db);
  	}
! 
! 	if (transaction_status == PQTRANS_INTRANS &&
! 		(rollback_str = GetVariable(pset.vars, "ON_ERROR_ROLLBACK")) != NULL &&
! 		/* !off and !interactive is 'on' */
! 		pg_strcasecmp(rollback_str, "off") != 0 &&
! 		(pset.cur_cmd_interactive ||
! 		 pg_strcasecmp(rollback_str, "interactive") != 0))
  	{
  		if (on_error_rollback_warning == false && pset.sversion < 80000)
  		{
