Skip to content

Commit a5f1d6c

Browse files
committed
Allow information schema definitions to work without requiring implicit
casts to text.
1 parent ba339f7 commit a5f1d6c

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/backend/catalog/information_schema.sql

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* Copyright (c) 2003-2007, PostgreSQL Global Development Group
66
*
7-
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.41 2007/02/03 17:59:35 petere Exp $
7+
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.42 2007/02/27 18:49:43 petere Exp $
88
*/
99

1010
/*
@@ -412,7 +412,7 @@ CREATE VIEW check_constraints AS
412412

413413
SELECT CAST(current_database() AS sql_identifier) AS constraint_catalog,
414414
CAST(n.nspname AS sql_identifier) AS constraint_schema,
415-
CAST(n.oid || '_' || r.oid || '_' || a.attnum || '_not_null' AS sql_identifier) AS constraint_name, -- XXX
415+
CAST(CAST(n.oid AS text) || '_' || CAST(r.oid AS text) || '_' || CAST(a.attnum AS text) || '_not_null' AS sql_identifier) AS constraint_name, -- XXX
416416
CAST(a.attname || ' IS NOT NULL' AS character_data)
417417
AS check_clause
418418
FROM pg_namespace n, pg_class r, pg_attribute a
@@ -1735,7 +1735,7 @@ CREATE VIEW table_constraints AS
17351735

17361736
SELECT CAST(current_database() AS sql_identifier) AS constraint_catalog,
17371737
CAST(nr.nspname AS sql_identifier) AS constraint_schema,
1738-
CAST(nr.oid || '_' || r.oid || '_' || a.attnum || '_not_null' AS sql_identifier) AS constraint_name, -- XXX
1738+
CAST(CAST(nr.oid AS text) || '_' || CAST(r.oid AS text) || '_' || CAST(a.attnum AS text) || '_not_null' AS sql_identifier) AS constraint_name, -- XXX
17391739
CAST(current_database() AS sql_identifier) AS table_catalog,
17401740
CAST(nr.nspname AS sql_identifier) AS table_schema,
17411741
CAST(r.relname AS sql_identifier) AS table_name,
@@ -2158,13 +2158,13 @@ CREATE VIEW views AS
21582158
CAST('NONE' AS character_data) AS check_option,
21592159

21602160
CAST(
2161-
CASE WHEN EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = 2 AND is_instead)
2162-
AND EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = 4 AND is_instead)
2161+
CASE WHEN EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = '2' AND is_instead)
2162+
AND EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = '4' AND is_instead)
21632163
THEN 'YES' ELSE 'NO' END
21642164
AS character_data) AS is_updatable,
21652165

21662166
CAST(
2167-
CASE WHEN EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = 3 AND is_instead)
2167+
CASE WHEN EXISTS (SELECT 1 FROM pg_rewrite WHERE ev_class = c.oid AND ev_type = '3' AND is_instead)
21682168
THEN 'YES' ELSE 'NO' END
21692169
AS character_data) AS is_insertable_into
21702170

@@ -2255,7 +2255,7 @@ CREATE VIEW element_types AS
22552255
CAST(null AS sql_identifier) AS scope_name,
22562256

22572257
CAST(null AS cardinal_number) AS maximum_cardinality,
2258-
CAST('a' || x.objdtdid AS sql_identifier) AS dtd_identifier
2258+
CAST('a' || CAST(x.objdtdid AS text) AS sql_identifier) AS dtd_identifier
22592259

22602260
FROM pg_namespace n, pg_type at, pg_namespace nbt, pg_type bt,
22612261
(
@@ -2299,7 +2299,7 @@ CREATE VIEW element_types AS
22992299
AND at.typelem = bt.oid
23002300
AND nbt.oid = bt.typnamespace
23012301

2302-
AND (n.nspname, x.objname, x.objtype, x.objdtdid) IN
2302+
AND (n.nspname, x.objname, x.objtype, CAST(x.objdtdid AS sql_identifier)) IN
23032303
( SELECT object_schema, object_name, object_type, dtd_identifier
23042304
FROM data_type_privileges );
23052305

0 commit comments

Comments
 (0)