aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/partition_info.out29
-rw-r--r--src/test/regress/sql/partition_info.sql11
2 files changed, 36 insertions, 4 deletions
diff --git a/src/test/regress/expected/partition_info.out b/src/test/regress/expected/partition_info.out
index c1ba53d74d1..6df7a80a939 100644
--- a/src/test/regress/expected/partition_info.out
+++ b/src/test/regress/expected/partition_info.out
@@ -180,11 +180,13 @@ SELECT pg_partition_root('ptif_normal_table');
(1 row)
DROP TABLE ptif_normal_table;
--- Various partitioning-related functions return NULL if passed relations
+-- Various partitioning-related functions return empty/NULL if passed relations
-- of types that cannot be part of a partition tree; for example, views,
--- materialized views, etc.
+-- materialized views, legacy inheritance children or parents, etc.
CREATE VIEW ptif_test_view AS SELECT 1;
CREATE MATERIALIZED VIEW ptif_test_matview AS SELECT 1;
+CREATE TABLE ptif_li_parent ();
+CREATE TABLE ptif_li_child () INHERITS (ptif_li_parent);
SELECT * FROM pg_partition_tree('ptif_test_view');
relid | parentrelid | isleaf | level
-------+-------------+--------+-------
@@ -195,6 +197,16 @@ SELECT * FROM pg_partition_tree('ptif_test_matview');
-------+-------------+--------+-------
(0 rows)
+SELECT * FROM pg_partition_tree('ptif_li_parent');
+ relid | parentrelid | isleaf | level
+-------+-------------+--------+-------
+(0 rows)
+
+SELECT * FROM pg_partition_tree('ptif_li_child');
+ relid | parentrelid | isleaf | level
+-------+-------------+--------+-------
+(0 rows)
+
SELECT pg_partition_root('ptif_test_view');
pg_partition_root
-------------------
@@ -207,5 +219,18 @@ SELECT pg_partition_root('ptif_test_matview');
(1 row)
+SELECT pg_partition_root('ptif_li_parent');
+ pg_partition_root
+-------------------
+
+(1 row)
+
+SELECT pg_partition_root('ptif_li_child');
+ pg_partition_root
+-------------------
+
+(1 row)
+
DROP VIEW ptif_test_view;
DROP MATERIALIZED VIEW ptif_test_matview;
+DROP TABLE ptif_li_parent, ptif_li_child;
diff --git a/src/test/regress/sql/partition_info.sql b/src/test/regress/sql/partition_info.sql
index 44a0abe7e21..a18c15aef21 100644
--- a/src/test/regress/sql/partition_info.sql
+++ b/src/test/regress/sql/partition_info.sql
@@ -84,14 +84,21 @@ SELECT relid, parentrelid, level, isleaf
SELECT pg_partition_root('ptif_normal_table');
DROP TABLE ptif_normal_table;
--- Various partitioning-related functions return NULL if passed relations
+-- Various partitioning-related functions return empty/NULL if passed relations
-- of types that cannot be part of a partition tree; for example, views,
--- materialized views, etc.
+-- materialized views, legacy inheritance children or parents, etc.
CREATE VIEW ptif_test_view AS SELECT 1;
CREATE MATERIALIZED VIEW ptif_test_matview AS SELECT 1;
+CREATE TABLE ptif_li_parent ();
+CREATE TABLE ptif_li_child () INHERITS (ptif_li_parent);
SELECT * FROM pg_partition_tree('ptif_test_view');
SELECT * FROM pg_partition_tree('ptif_test_matview');
+SELECT * FROM pg_partition_tree('ptif_li_parent');
+SELECT * FROM pg_partition_tree('ptif_li_child');
SELECT pg_partition_root('ptif_test_view');
SELECT pg_partition_root('ptif_test_matview');
+SELECT pg_partition_root('ptif_li_parent');
+SELECT pg_partition_root('ptif_li_child');
DROP VIEW ptif_test_view;
DROP MATERIALIZED VIEW ptif_test_matview;
+DROP TABLE ptif_li_parent, ptif_li_child;