From 7fcd675dc34e4621975c356c4c48bcca53c3f322 Mon Sep 17 00:00:00 2001
From: Philip Warner <pjw@rhyme.com.au>
Date: Sat, 27 Jan 2001 12:35:29 +0000
Subject: [PATCH] When dropping the schema, reconnect as owner of each object.

---
 src/bin/pg_dump/pg_backup_archiver.c | 6 ++++++
 src/bin/pg_dump/pg_backup_archiver.h | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index afbdcadb0a2..49389a8c5ed 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -34,6 +34,9 @@
  *
  *	  - Check results of IO routines more carefully.
  *
+ * Modifications - 27-Jan-2001 - pjw@rhyme.com.au
+ *	  - When dropping the schema, reconnect as owner of each object.
+ *
  *-------------------------------------------------------------------------
  */
 
@@ -180,6 +183,9 @@ void RestoreArchive(Archive* AHX, RestoreOptions *ropt)
 			reqs = _tocEntryRequired(te, ropt);
 			if ( ( (reqs & 1) != 0) && te->dropStmt) {  /* We want the schema */
 				ahlog(AH, 1, "Dropping %s %s\n", te->desc, te->name);
+				/* Reconnect if necessary */
+				_reconnectAsOwner(AH, "-", te);
+				/* Drop it */
 				ahprintf(AH, "%s", te->dropStmt);
 			}
 			te = te->prev;
diff --git a/src/bin/pg_dump/pg_backup_archiver.h b/src/bin/pg_dump/pg_backup_archiver.h
index 0808af32c81..583ab8dac73 100644
--- a/src/bin/pg_dump/pg_backup_archiver.h
+++ b/src/bin/pg_dump/pg_backup_archiver.h
@@ -62,7 +62,7 @@ typedef z_stream *z_streamp;
 
 #define K_VERS_MAJOR 1
 #define K_VERS_MINOR 4 
-#define K_VERS_REV 24 
+#define K_VERS_REV 25 
 
 /* Data block types */
 #define BLK_DATA 1
-- 
GitLab