From e83621aa13795d6f9557c961e611d943aa5bec88 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 7 Apr 1998 22:00:37 +0000 Subject: [PATCH] Reverse out pg_dump changes. --- src/bin/pg_dump/pg_dump.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 0961e741a7..6ca2301c64 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -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 - dave@bensoft.com - 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); + } + } } } }