File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change 1515 *
1616 *
1717 * IDENTIFICATION
18- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.149 2007/11/15 21:14:41 momjian Exp $
18+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.150 2007/11/24 17:45:32 momjian Exp $
1919 *
2020 *-------------------------------------------------------------------------
2121 */
@@ -245,6 +245,21 @@ RestoreArchive(Archive *AHX, RestoreOptions *ropt)
245245 _selectOutputSchema (AH , te -> namespace );
246246 /* Drop it */
247247 ahprintf (AH , "%s" , te -> dropStmt );
248+ if (strcmp (te -> desc , "SCHEMA" ) == 0 )
249+ {
250+ /*
251+ * If we dropped a schema, we know we are going to be
252+ * creating one later so don't remember the current one
253+ * so we try later. The previous 'search_path' setting
254+ * might have failed because the schema didn't exist
255+ * (and now it certainly doesn't exist), so force
256+ * search_path to be set as part of the next operation
257+ * and it might succeed.
258+ */
259+ if (AH -> currSchema )
260+ free (AH -> currSchema );
261+ AH -> currSchema = strdup ("" );
262+ }
248263 }
249264 }
250265 }
You can’t perform that action at this time.
0 commit comments