]> granicus.if.org Git - postgresql/commitdiff
Fix ordering of obj id for Rules and EventTriggers in pg_dump.
authorJoe Conway <mail@joeconway.com>
Mon, 10 Jun 2013 00:31:51 +0000 (17:31 -0700)
committerJoe Conway <mail@joeconway.com>
Mon, 10 Jun 2013 00:31:51 +0000 (17:31 -0700)
getSchemaData() must identify extension member objects and mark them
as not to be dumped. This must happen after reading all objects that can be
direct members of extensions, but before we begin to process table subsidiary
objects. Both rules and event triggers were wrong in this regard.

Backport rules portion of patch to 9.1 -- event triggers do not exist prior to 9.3.
Suggested fix by Tom Lane, initial complaint and patch by me.

src/bin/pg_dump/common.c

index 7415f0d00fb09fd2f4657f29dbe9d1bd1b74e795..87207f7d83a1691ffd67ef7880c6944e9b3bca67 100644 (file)
@@ -204,10 +204,6 @@ getSchemaData(int *numTablesPtr)
                write_msg(NULL, "reading table inheritance information\n");
        inhinfo = getInherits(&numInherits);
 
-       if (g_verbose)
-               write_msg(NULL, "reading rewrite rules\n");
-       getRules(&numRules);
-
        /*
         * Identify extension member objects and mark them as not to be dumped.
         * This must happen after reading all objects that can be direct members
@@ -242,6 +238,10 @@ getSchemaData(int *numTablesPtr)
                write_msg(NULL, "reading triggers\n");
        getTriggers(tblinfo, numTables);
 
+       if (g_verbose)
+               write_msg(NULL, "reading rewrite rules\n");
+       getRules(&numRules);
+
        *numTablesPtr = numTables;
        return tblinfo;
 }