postgres.git / summary / log / commit / refs
commit 64d60c8bf0703011d79dcb8a55dc42dcedc1e10f
Author: Stephen Frost <sfrost@snowman.net>
Date: Fri May 06 18:06:50 2016 +0000
Correct pg_dump WHERE clause for functions/aggregates
The query to grab the function/aggregate information is now joining
to pg_init_privs, so we can simplify (and correct) the WHERE clause
used to determine if a given function's ACL has changed from the
initial ACL on the function.
Bug found by Noah, patch by me.
src/bin/pg_dump/pg_dump.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 582509396bb..e400a7d17a3 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -4673,11 +4673,7 @@ getAggregates(Archive *fout, int *numAggs)
"p.pronamespace != "
"(SELECT oid FROM pg_namespace "
"WHERE nspname = 'pg_catalog') OR "
- "EXISTS (SELECT * FROM pg_init_privs pip "
- "WHERE p.oid = pip.objoid AND pip.classoid = "
- "(SELECT oid FROM pg_class "
- "WHERE relname = 'pg_proc') "
- "AND p.proacl IS DISTINCT FROM pip.initprivs)",
+ "p.proacl IS DISTINCT FROM pip.initprivs",
username_subquery,
acl_subquery->data,
racl_subquery->data,
@@ -4923,11 +4919,7 @@ getFuncs(Archive *fout, int *numFuncs)
"pronamespace != "
"(SELECT oid FROM pg_namespace "
"WHERE nspname = 'pg_catalog') OR "
- "EXISTS (SELECT * FROM pg_init_privs pip "
- "WHERE p.oid = pip.objoid AND pip.classoid = "
- "(SELECT oid FROM pg_class "
- "WHERE relname = 'pg_proc') "
- "AND p.proacl IS DISTINCT FROM pip.initprivs)",
+ "p.proacl IS DISTINCT FROM pip.initprivs",
acl_subquery->data,
racl_subquery->data,
initacl_subquery->data,
[parent: e324f8ad610b]