-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Harsh Lunagariya <[email protected]>
- Loading branch information
1 parent
d2f9b44
commit a16cadf
Showing
5 changed files
with
228 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
-- psql | ||
WITH object_info AS ( | ||
SELECT | ||
COALESCE( | ||
d.datname, | ||
n.nspname, | ||
c.relname, | ||
p.proname, | ||
t.typname, | ||
o.oprname, | ||
am.amname, | ||
ts.cfgname, | ||
fd.fdwname, | ||
fs.srvname, | ||
e.extname | ||
) AS object_name, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN 'Database' | ||
WHEN n.nspname IS NOT NULL THEN 'Schema' | ||
WHEN c.relname IS NOT NULL THEN | ||
CASE c.relkind | ||
WHEN 'r' THEN 'Table' | ||
WHEN 'i' THEN 'Index' | ||
WHEN 'S' THEN 'Sequence' | ||
WHEN 'v' THEN 'View' | ||
WHEN 'm' THEN 'Materialized View' | ||
WHEN 'c' THEN 'Composite Type' | ||
WHEN 't' THEN 'TOAST Table' | ||
WHEN 'f' THEN 'Foreign Table' | ||
ELSE 'Other Relation' | ||
END | ||
WHEN p.proname IS NOT NULL THEN | ||
CASE p.prokind | ||
WHEN 'f' THEN 'Function' | ||
WHEN 'p' THEN 'Procedure' | ||
WHEN 'a' THEN 'Aggregate Function' | ||
WHEN 'w' THEN 'Window Function' | ||
ELSE 'Other Routine' | ||
END | ||
WHEN t.typname IS NOT NULL THEN 'Type' | ||
WHEN o.oprname IS NOT NULL THEN 'Operator' | ||
WHEN am.amname IS NOT NULL THEN 'Access Method' | ||
WHEN ts.cfgname IS NOT NULL THEN 'Text Search Configuration' | ||
WHEN fd.fdwname IS NOT NULL THEN 'Foreign Data Wrapper' | ||
WHEN fs.srvname IS NOT NULL THEN 'Foreign Server' | ||
WHEN e.extname IS NOT NULL THEN 'Extension' | ||
ELSE 'Other' | ||
END AS object_type, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN NULL | ||
WHEN n.nspname IS NOT NULL THEN NULL | ||
ELSE COALESCE(nc.nspname, np.nspname, nt.nspname, no.nspname, nts.nspname) | ||
END AS schema_name | ||
FROM pg_init_privs ip | ||
LEFT JOIN pg_database d ON ip.objoid = d.oid AND ip.classoid = d.tableoid | ||
LEFT JOIN pg_namespace n ON ip.objoid = n.oid AND ip.classoid = n.tableoid | ||
LEFT JOIN pg_class c ON ip.objoid = c.oid AND ip.classoid = c.tableoid | ||
LEFT JOIN pg_proc p ON ip.objoid = p.oid AND ip.classoid = p.tableoid | ||
LEFT JOIN pg_type t ON ip.objoid = t.oid AND ip.classoid = t.tableoid | ||
LEFT JOIN pg_operator o ON ip.objoid = o.oid AND ip.classoid = o.tableoid | ||
LEFT JOIN pg_am am ON ip.objoid = am.oid AND ip.classoid = am.tableoid | ||
LEFT JOIN pg_ts_config ts ON ip.objoid = ts.oid AND ip.classoid = ts.tableoid | ||
LEFT JOIN pg_foreign_data_wrapper fd ON ip.objoid = fd.oid AND ip.classoid = fd.tableoid | ||
LEFT JOIN pg_foreign_server fs ON ip.objoid = fs.oid AND ip.classoid = fs.tableoid | ||
LEFT JOIN pg_extension e ON ip.objoid = e.oid AND ip.classoid = e.tableoid | ||
LEFT JOIN pg_namespace nc ON c.relnamespace = nc.oid | ||
LEFT JOIN pg_namespace np ON p.pronamespace = np.oid | ||
LEFT JOIN pg_namespace nt ON t.typnamespace = nt.oid | ||
LEFT JOIN pg_namespace no ON o.oprnamespace = no.oid | ||
LEFT JOIN pg_namespace nts ON ts.cfgnamespace = nts.oid | ||
WHERE ip.privtype = 'e' AND schema_name != 'sys' | ||
) | ||
SELECT * FROM object_info | ||
ORDER BY object_type, schema_name NULLS FIRST, object_name; | ||
GO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
-- psql | ||
WITH object_info AS ( | ||
SELECT | ||
COALESCE( | ||
d.datname, | ||
n.nspname, | ||
c.relname, | ||
p.proname, | ||
t.typname, | ||
o.oprname, | ||
am.amname, | ||
ts.cfgname, | ||
fd.fdwname, | ||
fs.srvname, | ||
e.extname | ||
) AS object_name, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN 'Database' | ||
WHEN n.nspname IS NOT NULL THEN 'Schema' | ||
WHEN c.relname IS NOT NULL THEN | ||
CASE c.relkind | ||
WHEN 'r' THEN 'Table' | ||
WHEN 'i' THEN 'Index' | ||
WHEN 'S' THEN 'Sequence' | ||
WHEN 'v' THEN 'View' | ||
WHEN 'm' THEN 'Materialized View' | ||
WHEN 'c' THEN 'Composite Type' | ||
WHEN 't' THEN 'TOAST Table' | ||
WHEN 'f' THEN 'Foreign Table' | ||
ELSE 'Other Relation' | ||
END | ||
WHEN p.proname IS NOT NULL THEN | ||
CASE p.prokind | ||
WHEN 'f' THEN 'Function' | ||
WHEN 'p' THEN 'Procedure' | ||
WHEN 'a' THEN 'Aggregate Function' | ||
WHEN 'w' THEN 'Window Function' | ||
ELSE 'Other Routine' | ||
END | ||
WHEN t.typname IS NOT NULL THEN 'Type' | ||
WHEN o.oprname IS NOT NULL THEN 'Operator' | ||
WHEN am.amname IS NOT NULL THEN 'Access Method' | ||
WHEN ts.cfgname IS NOT NULL THEN 'Text Search Configuration' | ||
WHEN fd.fdwname IS NOT NULL THEN 'Foreign Data Wrapper' | ||
WHEN fs.srvname IS NOT NULL THEN 'Foreign Server' | ||
WHEN e.extname IS NOT NULL THEN 'Extension' | ||
ELSE 'Other' | ||
END AS object_type, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN NULL | ||
WHEN n.nspname IS NOT NULL THEN NULL | ||
ELSE COALESCE(nc.nspname, np.nspname, nt.nspname, no.nspname, nts.nspname) | ||
END AS schema_name | ||
FROM pg_init_privs ip | ||
LEFT JOIN pg_database d ON ip.objoid = d.oid AND ip.classoid = d.tableoid | ||
LEFT JOIN pg_namespace n ON ip.objoid = n.oid AND ip.classoid = n.tableoid | ||
LEFT JOIN pg_class c ON ip.objoid = c.oid AND ip.classoid = c.tableoid | ||
LEFT JOIN pg_proc p ON ip.objoid = p.oid AND ip.classoid = p.tableoid | ||
LEFT JOIN pg_type t ON ip.objoid = t.oid AND ip.classoid = t.tableoid | ||
LEFT JOIN pg_operator o ON ip.objoid = o.oid AND ip.classoid = o.tableoid | ||
LEFT JOIN pg_am am ON ip.objoid = am.oid AND ip.classoid = am.tableoid | ||
LEFT JOIN pg_ts_config ts ON ip.objoid = ts.oid AND ip.classoid = ts.tableoid | ||
LEFT JOIN pg_foreign_data_wrapper fd ON ip.objoid = fd.oid AND ip.classoid = fd.tableoid | ||
LEFT JOIN pg_foreign_server fs ON ip.objoid = fs.oid AND ip.classoid = fs.tableoid | ||
LEFT JOIN pg_extension e ON ip.objoid = e.oid AND ip.classoid = e.tableoid | ||
LEFT JOIN pg_namespace nc ON c.relnamespace = nc.oid | ||
LEFT JOIN pg_namespace np ON p.pronamespace = np.oid | ||
LEFT JOIN pg_namespace nt ON t.typnamespace = nt.oid | ||
LEFT JOIN pg_namespace no ON o.oprnamespace = no.oid | ||
LEFT JOIN pg_namespace nts ON ts.cfgnamespace = nts.oid | ||
WHERE ip.privtype = 'e' AND schema_name != 'sys' | ||
) | ||
SELECT * FROM object_info | ||
ORDER BY object_type, schema_name NULLS FIRST, object_name; | ||
GO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
75 changes: 75 additions & 0 deletions
75
test/JDBC/upgrade/latest/verification_cleanup/13_6/aaaa_init_privs-vu-verify.mix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
-- psql | ||
WITH object_info AS ( | ||
SELECT | ||
COALESCE( | ||
d.datname, | ||
n.nspname, | ||
c.relname, | ||
p.proname, | ||
t.typname, | ||
o.oprname, | ||
am.amname, | ||
ts.cfgname, | ||
fd.fdwname, | ||
fs.srvname, | ||
e.extname | ||
) AS object_name, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN 'Database' | ||
WHEN n.nspname IS NOT NULL THEN 'Schema' | ||
WHEN c.relname IS NOT NULL THEN | ||
CASE c.relkind | ||
WHEN 'r' THEN 'Table' | ||
WHEN 'i' THEN 'Index' | ||
WHEN 'S' THEN 'Sequence' | ||
WHEN 'v' THEN 'View' | ||
WHEN 'm' THEN 'Materialized View' | ||
WHEN 'c' THEN 'Composite Type' | ||
WHEN 't' THEN 'TOAST Table' | ||
WHEN 'f' THEN 'Foreign Table' | ||
ELSE 'Other Relation' | ||
END | ||
WHEN p.proname IS NOT NULL THEN | ||
CASE p.prokind | ||
WHEN 'f' THEN 'Function' | ||
WHEN 'p' THEN 'Procedure' | ||
WHEN 'a' THEN 'Aggregate Function' | ||
WHEN 'w' THEN 'Window Function' | ||
ELSE 'Other Routine' | ||
END | ||
WHEN t.typname IS NOT NULL THEN 'Type' | ||
WHEN o.oprname IS NOT NULL THEN 'Operator' | ||
WHEN am.amname IS NOT NULL THEN 'Access Method' | ||
WHEN ts.cfgname IS NOT NULL THEN 'Text Search Configuration' | ||
WHEN fd.fdwname IS NOT NULL THEN 'Foreign Data Wrapper' | ||
WHEN fs.srvname IS NOT NULL THEN 'Foreign Server' | ||
WHEN e.extname IS NOT NULL THEN 'Extension' | ||
ELSE 'Other' | ||
END AS object_type, | ||
CASE | ||
WHEN d.datname IS NOT NULL THEN NULL | ||
WHEN n.nspname IS NOT NULL THEN NULL | ||
ELSE COALESCE(nc.nspname, np.nspname, nt.nspname, no.nspname, nts.nspname) | ||
END AS schema_name | ||
FROM pg_init_privs ip | ||
LEFT JOIN pg_database d ON ip.objoid = d.oid AND ip.classoid = d.tableoid | ||
LEFT JOIN pg_namespace n ON ip.objoid = n.oid AND ip.classoid = n.tableoid | ||
LEFT JOIN pg_class c ON ip.objoid = c.oid AND ip.classoid = c.tableoid | ||
LEFT JOIN pg_proc p ON ip.objoid = p.oid AND ip.classoid = p.tableoid | ||
LEFT JOIN pg_type t ON ip.objoid = t.oid AND ip.classoid = t.tableoid | ||
LEFT JOIN pg_operator o ON ip.objoid = o.oid AND ip.classoid = o.tableoid | ||
LEFT JOIN pg_am am ON ip.objoid = am.oid AND ip.classoid = am.tableoid | ||
LEFT JOIN pg_ts_config ts ON ip.objoid = ts.oid AND ip.classoid = ts.tableoid | ||
LEFT JOIN pg_foreign_data_wrapper fd ON ip.objoid = fd.oid AND ip.classoid = fd.tableoid | ||
LEFT JOIN pg_foreign_server fs ON ip.objoid = fs.oid AND ip.classoid = fs.tableoid | ||
LEFT JOIN pg_extension e ON ip.objoid = e.oid AND ip.classoid = e.tableoid | ||
LEFT JOIN pg_namespace nc ON c.relnamespace = nc.oid | ||
LEFT JOIN pg_namespace np ON p.pronamespace = np.oid | ||
LEFT JOIN pg_namespace nt ON t.typnamespace = nt.oid | ||
LEFT JOIN pg_namespace no ON o.oprnamespace = no.oid | ||
LEFT JOIN pg_namespace nts ON ts.cfgnamespace = nts.oid | ||
WHERE ip.privtype = 'e' AND schema_name != 'sys' | ||
) | ||
SELECT * FROM object_info | ||
ORDER BY object_type, schema_name NULLS FIRST, object_name; | ||
GO |