Index: src/backend/tcop/postgres.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/tcop/postgres.c,v
retrieving revision 1.317
diff -c -c -r1.317 postgres.c
*** src/backend/tcop/postgres.c	10 Mar 2003 03:53:51 -0000	1.317
--- src/backend/tcop/postgres.c	19 Mar 2003 16:54:53 -0000
***************
*** 880,899 ****
  				finish_xact_command(true);
  				xact_started = false;
  			}
! 		}						/* end loop over queries generated from a
! 								 * parsetree */
  
! 		/*
! 		 * If this is the last parsetree of the query string, close down
! 		 * transaction statement before reporting command-complete.  This
! 		 * is so that any end-of-transaction errors are reported before
! 		 * the command-complete message is issued, to avoid confusing
! 		 * clients who will expect either a command-complete message or an
! 		 * error, not one and then the other.  But for compatibility with
! 		 * historical Postgres behavior, we do not force a transaction
! 		 * boundary between queries appearing in a single query string.
! 		 */
! 		if (lnext(parsetree_item) == NIL && xact_started)
  		{
  			finish_xact_command(false);
  			xact_started = false;
--- 880,888 ----
  				finish_xact_command(true);
  				xact_started = false;
  			}
! 		}	/* end loop over queries generated from a parsetree */
  
! 		if (xact_started)
  		{
  			finish_xact_command(false);
  			xact_started = false;
