Commit 395c8166 authored by Bruce Momjian's avatar Bruce Momjian

Sequences were not being shown due to the use of lowercase 's' instead

of 'S', and the views were not checking for table visibility with
regards to temporary tables and sequences.

Greg Sabino Mullane
parent 19dd2fbf
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Copyright (c) 2003-2006, PostgreSQL Global Development Group * Copyright (c) 2003-2006, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.33 2006/04/02 17:38:13 petere Exp $ * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.34 2006/09/04 21:03:18 momjian Exp $
*/ */
/* /*
...@@ -644,7 +644,7 @@ CREATE VIEW columns AS ...@@ -644,7 +644,7 @@ CREATE VIEW columns AS
WHERE a.attrelid = c.oid WHERE a.attrelid = c.oid
AND a.atttypid = t.oid AND a.atttypid = t.oid
AND nc.oid = c.relnamespace AND nc.oid = c.relnamespace
AND (nc.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(c.oid))
AND a.attnum > 0 AND NOT a.attisdropped AND c.relkind in ('r', 'v') AND a.attnum > 0 AND NOT a.attisdropped AND c.relkind in ('r', 'v')
AND (pg_has_role(c.relowner, 'USAGE') AND (pg_has_role(c.relowner, 'USAGE')
...@@ -933,6 +933,7 @@ CREATE VIEW key_column_usage AS ...@@ -933,6 +933,7 @@ CREATE VIEW key_column_usage AS
AND nc.oid = c.connamespace AND nc.oid = c.connamespace
AND c.contype IN ('p', 'u', 'f') AND c.contype IN ('p', 'u', 'f')
AND r.relkind = 'r' AND r.relkind = 'r'
AND (nr.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(r.oid))
AND (pg_has_role(r.relowner, 'USAGE') AND (pg_has_role(r.relowner, 'USAGE')
OR has_table_privilege(c.oid, 'SELECT') OR has_table_privilege(c.oid, 'SELECT')
OR has_table_privilege(c.oid, 'INSERT') OR has_table_privilege(c.oid, 'INSERT')
...@@ -1459,7 +1460,8 @@ CREATE VIEW sequences AS ...@@ -1459,7 +1460,8 @@ CREATE VIEW sequences AS
CAST(null AS character_data) AS cycle_option -- FIXME CAST(null AS character_data) AS cycle_option -- FIXME
FROM pg_namespace nc, pg_class c FROM pg_namespace nc, pg_class c
WHERE c.relnamespace = nc.oid WHERE c.relnamespace = nc.oid
AND c.relkind = 's' AND c.relkind = 'S'
AND (nc.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(c.oid))
AND (pg_has_role(c.relowner, 'USAGE') AND (pg_has_role(c.relowner, 'USAGE')
OR has_table_privilege(c.oid, 'SELECT') OR has_table_privilege(c.oid, 'SELECT')
OR has_table_privilege(c.oid, 'UPDATE') ); OR has_table_privilege(c.oid, 'UPDATE') );
...@@ -1690,6 +1692,7 @@ CREATE VIEW table_constraints AS ...@@ -1690,6 +1692,7 @@ CREATE VIEW table_constraints AS
WHERE nc.oid = c.connamespace AND nr.oid = r.relnamespace WHERE nc.oid = c.connamespace AND nr.oid = r.relnamespace
AND c.conrelid = r.oid AND c.conrelid = r.oid
AND r.relkind = 'r' AND r.relkind = 'r'
AND (nr.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(r.oid))
AND (pg_has_role(r.relowner, 'USAGE') AND (pg_has_role(r.relowner, 'USAGE')
-- SELECT privilege omitted, per SQL standard -- SELECT privilege omitted, per SQL standard
OR has_table_privilege(r.oid, 'INSERT') OR has_table_privilege(r.oid, 'INSERT')
...@@ -1723,6 +1726,7 @@ CREATE VIEW table_constraints AS ...@@ -1723,6 +1726,7 @@ CREATE VIEW table_constraints AS
AND a.attnum > 0 AND a.attnum > 0
AND NOT a.attisdropped AND NOT a.attisdropped
AND r.relkind = 'r' AND r.relkind = 'r'
AND (nr.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(r.oid))
AND (pg_has_role(r.relowner, 'USAGE') AND (pg_has_role(r.relowner, 'USAGE')
OR has_table_privilege(r.oid, 'SELECT') OR has_table_privilege(r.oid, 'SELECT')
OR has_table_privilege(r.oid, 'INSERT') OR has_table_privilege(r.oid, 'INSERT')
...@@ -1824,6 +1828,7 @@ CREATE VIEW tables AS ...@@ -1824,6 +1828,7 @@ CREATE VIEW tables AS
WHERE c.relnamespace = nc.oid WHERE c.relnamespace = nc.oid
AND c.relkind IN ('r', 'v') AND c.relkind IN ('r', 'v')
AND (nc.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(c.oid))
AND (pg_has_role(c.relowner, 'USAGE') AND (pg_has_role(c.relowner, 'USAGE')
OR has_table_privilege(c.oid, 'SELECT') OR has_table_privilege(c.oid, 'SELECT')
OR has_table_privilege(c.oid, 'INSERT') OR has_table_privilege(c.oid, 'INSERT')
...@@ -1945,6 +1950,7 @@ CREATE VIEW triggers AS ...@@ -1945,6 +1950,7 @@ CREATE VIEW triggers AS
AND c.oid = t.tgrelid AND c.oid = t.tgrelid
AND t.tgtype & em.num <> 0 AND t.tgtype & em.num <> 0
AND NOT t.tgisconstraint AND NOT t.tgisconstraint
AND (n.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(c.oid))
AND (pg_has_role(c.relowner, 'USAGE') AND (pg_has_role(c.relowner, 'USAGE')
-- SELECT privilege omitted, per SQL standard -- SELECT privilege omitted, per SQL standard
OR has_table_privilege(c.oid, 'INSERT') OR has_table_privilege(c.oid, 'INSERT')
...@@ -2143,6 +2149,7 @@ CREATE VIEW views AS ...@@ -2143,6 +2149,7 @@ CREATE VIEW views AS
WHERE c.relnamespace = nc.oid WHERE c.relnamespace = nc.oid
AND c.relkind = 'v' AND c.relkind = 'v'
AND (nc.nspname NOT LIKE 'pg!_temp!_%' ESCAPE '!' OR pg_catalog.pg_table_is_visible(c.oid))
AND (pg_has_role(c.relowner, 'USAGE') AND (pg_has_role(c.relowner, 'USAGE')
OR has_table_privilege(c.oid, 'SELECT') OR has_table_privilege(c.oid, 'SELECT')
OR has_table_privilege(c.oid, 'INSERT') OR has_table_privilege(c.oid, 'INSERT')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment