Reverse out pg_dump changes.
authorBruce Momjian
Tue, 7 Apr 1998 22:00:37 +0000 (22:00 +0000)
committerBruce Momjian
Tue, 7 Apr 1998 22:00:37 +0000 (22:00 +0000)
src/bin/pg_dump/pg_dump.c

index 0961e741a72210b2216ee67ed3f297e901e077dc..6ca2301c6452eafd6f3d7645b1c027087a4ade75 100644 (file)
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.68 1998/04/07 16:41:11 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.69 1998/04/07 22:00:37 momjian Exp $
  *
  * Modifications - 6/10/96 - [email protected] - version 1.13.dhb
  *
@@ -2507,7 +2507,34 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
            fputs(q, fout);
 
            if (acls)
-               dumpACL(fout, tblinfo[i]);
+           {
+               ACLlist = ParseACL(tblinfo[i].relacl, &l);
+               if (ACLlist == (ACL *) NULL)
+               {
+                   if (l == 0)
+                       continue;
+                   else
+                   {
+                       fprintf(stderr, "Could not parse ACL list for %s...Exiting!\n",
+                               tblinfo[i].relname);
+                       exit_nicely(g_conn);
+                   }
+               }
+
+               /* Revoke Default permissions for PUBLIC */
+               fprintf(fout,
+                       "REVOKE ALL on %s from PUBLIC;\n",
+                       tblinfo[i].relname);
+
+               for (k = 0; k < l; k++)
+               {
+                   if (ACLlist[k].privledges != (char *) NULL)
+                       fprintf(fout,
+                               "GRANT %s on %s to %s;\n",
+                               ACLlist[k].privledges, tblinfo[i].relname,
+                               ACLlist[k].user);
+               }
+           }
        }
    }
 }