Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9578393

Browse filesBrowse files
committed
Add tests for domain-related information schema views
Reviewed-by: Aleksander Alekseev <aleksander@timescale.com> Discussion: https://www.postgresql.org/message-id/flat/9ec24d7b-633d-463a-84c6-7acff769c9e8%40eisentraut.org
1 parent f69319f commit 9578393
Copy full SHA for 9578393

File tree

Expand file treeCollapse file tree

2 files changed

+71
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+71
-0
lines changed

‎src/test/regress/expected/domain.out

Copy file name to clipboardExpand all lines: src/test/regress/expected/domain.out
+47Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,3 +1207,50 @@ create domain testdomain1 as int constraint unsigned check (value > 0);
12071207
alter domain testdomain1 rename constraint unsigned to unsigned_foo;
12081208
alter domain testdomain1 drop constraint unsigned_foo;
12091209
drop domain testdomain1;
1210+
--
1211+
-- Information schema
1212+
--
1213+
SELECT * FROM information_schema.column_domain_usage
1214+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1215+
ORDER BY domain_name;
1216+
domain_catalog | domain_schema | domain_name | table_catalog | table_schema | table_name | column_name
1217+
----------------+---------------+-------------+---------------+--------------+------------+-------------
1218+
regression | public | con | regression | public | domcontest | col1
1219+
regression | public | dom | regression | public | domview | col1
1220+
regression | public | things | regression | public | thethings | stuff
1221+
(3 rows)
1222+
1223+
SELECT * FROM information_schema.domain_constraints
1224+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1225+
ORDER BY constraint_name;
1226+
constraint_catalog | constraint_schema | constraint_name | domain_catalog | domain_schema | domain_name | is_deferrable | initially_deferred
1227+
--------------------+-------------------+-----------------+----------------+---------------+-------------+---------------+--------------------
1228+
regression | public | con_check | regression | public | con | NO | NO
1229+
regression | public | meow | regression | public | things | NO | NO
1230+
regression | public | pos_int_check | regression | public | pos_int | NO | NO
1231+
(3 rows)
1232+
1233+
SELECT * FROM information_schema.domains
1234+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1235+
ORDER BY domain_name;
1236+
domain_catalog | domain_schema | domain_name | data_type | character_maximum_length | character_octet_length | character_set_catalog | character_set_schema | character_set_name | collation_catalog | collation_schema | collation_name | numeric_precision | numeric_precision_radix | numeric_scale | datetime_precision | interval_type | interval_precision | domain_default | udt_catalog | udt_schema | udt_name | scope_catalog | scope_schema | scope_name | maximum_cardinality | dtd_identifier
1237+
----------------+---------------+-------------+-----------+--------------------------+------------------------+-----------------------+----------------------+--------------------+-------------------+------------------+----------------+-------------------+-------------------------+---------------+--------------------+---------------+--------------------+----------------+-------------+------------+----------+---------------+--------------+------------+---------------------+----------------
1238+
regression | public | con | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1239+
regression | public | dom | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1240+
regression | public | pos_int | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1241+
regression | public | things | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1242+
(4 rows)
1243+
1244+
SELECT * FROM information_schema.check_constraints
1245+
WHERE (constraint_schema, constraint_name)
1246+
IN (SELECT constraint_schema, constraint_name
1247+
FROM information_schema.domain_constraints
1248+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things'))
1249+
ORDER BY constraint_name;
1250+
constraint_catalog | constraint_schema | constraint_name | check_clause
1251+
--------------------+-------------------+-----------------+--------------
1252+
regression | public | con_check | (VALUE > 0)
1253+
regression | public | meow | (VALUE < 11)
1254+
regression | public | pos_int_check | (VALUE > 0)
1255+
(3 rows)
1256+

‎src/test/regress/sql/domain.sql

Copy file name to clipboardExpand all lines: src/test/regress/sql/domain.sql
+24Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,3 +809,27 @@ create domain testdomain1 as int constraint unsigned check (value > 0);
809809
alter domain testdomain1 rename constraint unsigned to unsigned_foo;
810810
alter domain testdomain1 drop constraint unsigned_foo;
811811
drop domain testdomain1;
812+
813+
814+
--
815+
-- Information schema
816+
--
817+
818+
SELECT * FROM information_schema.column_domain_usage
819+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
820+
ORDER BY domain_name;
821+
822+
SELECT * FROM information_schema.domain_constraints
823+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
824+
ORDER BY constraint_name;
825+
826+
SELECT * FROM information_schema.domains
827+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
828+
ORDER BY domain_name;
829+
830+
SELECT * FROM information_schema.check_constraints
831+
WHERE (constraint_schema, constraint_name)
832+
IN (SELECT constraint_schema, constraint_name
833+
FROM information_schema.domain_constraints
834+
WHERE domain_name IN ('con', 'dom', 'pos_int', 'things'))
835+
ORDER BY constraint_name;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.