From dc5d2e5b9c0331c9be6d068456fe52c9af93a5ed Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Fri, 9 Jun 2017 11:53:08 -0600 Subject: [PATCH] Change table_checks view to use information_schema --- src/test/regress/expected/multi_extension.out | 39 ++++++++++++------- src/test/regress/sql/multi_extension.sql | 39 ++++++++++++------- 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 8a8cd2139..f3c83a007 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -232,11 +232,14 @@ SELECT "name" AS "Column", "relid" FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC; \c - - - :worker_1_port CREATE VIEW table_fkeys AS SELECT r.conname AS "Constraint", @@ -272,11 +275,14 @@ SELECT "name" AS "Column", "relid" FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC; \c - - - :worker_2_port -- create views used to describe relations CREATE VIEW table_attrs AS @@ -306,8 +312,11 @@ SELECT "name" AS "Column", "relid" FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC; diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 8021c1809..f87a743b6 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -215,11 +215,14 @@ SELECT "name" AS "Column", FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC; \c - - - :worker_1_port @@ -260,11 +263,14 @@ SELECT "name" AS "Column", FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC; \c - - - :worker_2_port @@ -298,8 +304,11 @@ SELECT "name" AS "Column", FROM table_attrs; CREATE VIEW table_checks AS -SELECT r.conname AS "Constraint", - pg_catalog.pg_get_constraintdef(r.oid, true) AS "Definition", - conrelid AS "relid" -FROM pg_catalog.pg_constraint r -WHERE r.contype = 'c'; +SELECT cc.constraint_name AS "Constraint", + ('CHECK ' || regexp_replace(check_clause, '^\((.*)\)$', '\1')) AS "Definition", + format('%I.%I', ccu.table_schema, ccu.table_name)::regclass::oid AS relid +FROM information_schema.check_constraints cc, + information_schema.constraint_column_usage ccu +WHERE cc.constraint_schema = ccu.constraint_schema AND + cc.constraint_name = ccu.constraint_name +ORDER BY cc.constraint_name ASC;