Index: src/bin/pg_dump/pg_backup_archiver.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v
retrieving revision 1.124
diff -c -r1.124 pg_backup_archiver.c
*** src/bin/pg_dump/pg_backup_archiver.c	13 Feb 2006 21:30:19 -0000	1.124
--- src/bin/pg_dump/pg_backup_archiver.c	14 Feb 2006 15:49:30 -0000
***************
*** 652,661 ****
  void
  StartRestoreBlobs(ArchiveHandle *AH)
  {
! 	if (AH->connection)
! 		StartTransaction(AH);
! 	else
! 		ahprintf(AH, "BEGIN;\n\n");
  
  	AH->blobCount = 0;
  }
--- 652,664 ----
  void
  StartRestoreBlobs(ArchiveHandle *AH)
  {
!     if (!AH->ropt->single_txn)
!     {
!     	if (AH->connection)
!             StartTransaction(AH);
!     	else
!     		ahprintf(AH, "BEGIN;\n\n");
!     }
  
  	AH->blobCount = 0;
  }
***************
*** 666,675 ****
  void
  EndRestoreBlobs(ArchiveHandle *AH)
  {
! 	if (AH->connection)
! 		CommitTransaction(AH);
! 	else
! 		ahprintf(AH, "COMMIT;\n\n");
  
  	ahlog(AH, 1, "restored %d large objects\n", AH->blobCount);
  }
--- 669,681 ----
  void
  EndRestoreBlobs(ArchiveHandle *AH)
  {
!     if (AH->ropt->single_txn)
!     {
!     	if (AH->connection)
!     		CommitTransaction(AH);
!         else
! 		    ahprintf(AH, "COMMIT;\n\n");
!     }
  
  	ahlog(AH, 1, "restored %d large objects\n", AH->blobCount);
  }
