This is an automated email from the ASF dual-hosted git repository.
chenjinbao1989 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
The following commit(s) were added to refs/heads/cbdb-postgres-merge by this
push:
new c2a2a2824f9 Fix some answer files for parallel schedule in pax
c2a2a2824f9 is described below
commit c2a2a2824f90fd8d5660bcbf5456e46279df0a7b
Author: Jinbao Chen <[email protected]>
AuthorDate: Mon Mar 16 00:21:57 2026 -0400
Fix some answer files for parallel schedule in pax
---
.../src/test/regress/expected/aggregates.out | 12 +--
.../src/test/regress/expected/alter_generic.out | 38 +++----
.../src/test/regress/expected/aocs_sample.out | 4 +-
.../test/regress/expected/appendonly_sample.out | 4 +-
.../src/test/regress/expected/collate.out | 26 ++---
.../test/regress/expected/create_function_3.out | 2 +-
.../test/regress/expected/create_table_like.out | 3 +-
.../src/test/regress/expected/create_view.out | 99 ++++++-----------
.../src/test/regress/expected/dbsize.out | 4 +-
.../pax_storage/src/test/regress/expected/gin.out | 20 ++--
.../src/test/regress/expected/groupingsets.out | 21 ++--
.../src/test/regress/expected/incremental_sort.out | 20 ++--
.../pax_storage/src/test/regress/expected/join.out | 120 ++++++++++++---------
.../src/test/regress/expected/matview.out | 24 ++---
.../src/test/regress/expected/object_address.out | 13 +--
.../src/test/regress/expected/privileges.out | 2 +-
.../pax_storage/src/test/regress/expected/psql.out | 25 ++---
.../src/test/regress/expected/publication.out | 18 ++--
.../src/test/regress/expected/rowsecurity.out | 19 ++--
.../src/test/regress/expected/sanity_check.out | 2 +
.../src/test/regress/expected/stats_ext.out | 21 ++--
.../src/test/regress/expected/sysviews.out | 3 +-
.../src/test/regress/expected/tablesample.out | 4 +-
.../src/test/regress/expected/transactions.out | 56 ++++++++++
.../src/test/regress/expected/union.out | 2 +-
.../src/test/regress/expected/update.out | 2 +-
.../src/test/regress/sql/create_view.sql | 16 +--
27 files changed, 318 insertions(+), 262 deletions(-)
diff --git a/contrib/pax_storage/src/test/regress/expected/aggregates.out
b/contrib/pax_storage/src/test/regress/expected/aggregates.out
index 78701397ab9..e8b85e4137a 100644
--- a/contrib/pax_storage/src/test/regress/expected/aggregates.out
+++ b/contrib/pax_storage/src/test/regress/expected/aggregates.out
@@ -1329,7 +1329,7 @@ group by t1.a,t1.b,t1.c,t1.d,t2.x,t2.y,t2.z;
------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
-> HashAggregate
- Group Key: t1.a, t1.b, t2.x, t2.y
+ Group Key: t1.a, t1.b
-> Hash Join
Hash Cond: ((t2.x = t1.a) AND (t2.y = t1.b))
-> Seq Scan on t2
@@ -1346,7 +1346,7 @@ group by t1.a,t1.b,t1.c,t1.d,t2.x,t2.z;
------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
-> HashAggregate
- Group Key: t1.a, t1.b, t2.x, t2.z
+ Group Key: t1.a, t1.b, t2.z
-> Hash Join
Hash Cond: ((t2.x = t1.a) AND (t2.y = t1.b))
-> Seq Scan on t2
@@ -1596,7 +1596,7 @@ select * from agg_view1;
select pg_get_viewdef('agg_view1'::regclass);
pg_get_viewdef
---------------------------------------------------------------------------------------------------------------------
- SELECT aggfns(v.a, v.b, v.c) AS aggfns
+
+ SELECT aggfns(a, b, c) AS aggfns
+
FROM ( VALUES (1,3,'foo'::text), (0,NULL::integer,NULL::text),
(2,2,'bar'::text), (3,1,'baz'::text)) v(a, b, c);
(1 row)
@@ -1648,7 +1648,7 @@ select * from agg_view1;
select pg_get_viewdef('agg_view1'::regclass);
pg_get_viewdef
---------------------------------------------------------------------------------------------------------------------
- SELECT aggfns(v.a, v.b, v.c ORDER BY (v.b + 1)) AS aggfns
+
+ SELECT aggfns(a, b, c ORDER BY (b + 1)) AS aggfns
+
FROM ( VALUES (1,3,'foo'::text), (0,NULL::integer,NULL::text),
(2,2,'bar'::text), (3,1,'baz'::text)) v(a, b, c);
(1 row)
@@ -1664,7 +1664,7 @@ select * from agg_view1;
select pg_get_viewdef('agg_view1'::regclass);
pg_get_viewdef
---------------------------------------------------------------------------------------------------------------------
- SELECT aggfns(v.a, v.a, v.c ORDER BY v.b) AS aggfns
+
+ SELECT aggfns(a, a, c ORDER BY b) AS aggfns
+
FROM ( VALUES (1,3,'foo'::text), (0,NULL::integer,NULL::text),
(2,2,'bar'::text), (3,1,'baz'::text)) v(a, b, c);
(1 row)
@@ -1680,7 +1680,7 @@ select * from agg_view1;
select pg_get_viewdef('agg_view1'::regclass);
pg_get_viewdef
---------------------------------------------------------------------------------------------------------------------
- SELECT aggfns(v.a, v.b, v.c ORDER BY v.c USING ~<~ NULLS LAST) AS aggfns
+
+ SELECT aggfns(a, b, c ORDER BY c USING ~<~ NULLS LAST) AS aggfns
+
FROM ( VALUES (1,3,'foo'::text), (0,NULL::integer,NULL::text),
(2,2,'bar'::text), (3,1,'baz'::text)) v(a, b, c);
(1 row)
diff --git a/contrib/pax_storage/src/test/regress/expected/alter_generic.out
b/contrib/pax_storage/src/test/regress/expected/alter_generic.out
index 8953c5c7d71..1808999ed5d 100644
--- a/contrib/pax_storage/src/test/regress/expected/alter_generic.out
+++ b/contrib/pax_storage/src/test/regress/expected/alter_generic.out
@@ -38,7 +38,7 @@ ALTER FUNCTION alt_func1(int) RENAME TO alt_func2; -- failed
(name conflict)
ERROR: function alt_func2(integer) already exists in schema "alt_nsp1"
ALTER FUNCTION alt_func1(int) RENAME TO alt_func3; -- OK
ALTER FUNCTION alt_func2(int) OWNER TO regress_alter_generic_user2; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER FUNCTION alt_func2(int) OWNER TO regress_alter_generic_user3; -- OK
ALTER FUNCTION alt_func2(int) SET SCHEMA alt_nsp1; -- OK, already there
ALTER FUNCTION alt_func2(int) SET SCHEMA alt_nsp2; -- OK
@@ -46,7 +46,7 @@ ALTER AGGREGATE alt_agg1(int) RENAME TO alt_agg2; -- failed
(name conflict)
ERROR: function alt_agg2(integer) already exists in schema "alt_nsp1"
ALTER AGGREGATE alt_agg1(int) RENAME TO alt_agg3; -- OK
ALTER AGGREGATE alt_agg2(int) OWNER TO regress_alter_generic_user2; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER AGGREGATE alt_agg2(int) OWNER TO regress_alter_generic_user3; -- OK
ALTER AGGREGATE alt_agg2(int) SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -66,7 +66,7 @@ ALTER FUNCTION alt_func1(int) RENAME TO alt_func4; -- OK
ALTER FUNCTION alt_func3(int) OWNER TO regress_alter_generic_user2; --
failed (not owner)
ERROR: must be owner of function alt_func3
ALTER FUNCTION alt_func2(int) OWNER TO regress_alter_generic_user3; --
failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER FUNCTION alt_func3(int) SET SCHEMA alt_nsp2; -- failed (not owner)
ERROR: must be owner of function alt_func3
ALTER FUNCTION alt_func2(int) SET SCHEMA alt_nsp2; -- failed (name
conflicts)
@@ -77,7 +77,7 @@ ALTER AGGREGATE alt_agg1(int) RENAME TO alt_agg4; -- OK
ALTER AGGREGATE alt_agg3(int) OWNER TO regress_alter_generic_user2; -- failed
(not owner)
ERROR: must be owner of function alt_agg3
ALTER AGGREGATE alt_agg2(int) OWNER TO regress_alter_generic_user3; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER AGGREGATE alt_agg3(int) SET SCHEMA alt_nsp2; -- failed (not owner)
ERROR: must be owner of function alt_agg3
ALTER AGGREGATE alt_agg2(int) SET SCHEMA alt_nsp2; -- failed (name conflict)
@@ -114,7 +114,7 @@ ALTER CONVERSION alt_conv1 RENAME TO alt_conv2; -- failed
(name conflict)
ERROR: conversion "alt_conv2" already exists in schema "alt_nsp1"
ALTER CONVERSION alt_conv1 RENAME TO alt_conv3; -- OK
ALTER CONVERSION alt_conv2 OWNER TO regress_alter_generic_user2; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER CONVERSION alt_conv2 OWNER TO regress_alter_generic_user3; -- OK
ALTER CONVERSION alt_conv2 SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -126,7 +126,7 @@ ALTER CONVERSION alt_conv1 RENAME TO alt_conv4; -- OK
ALTER CONVERSION alt_conv3 OWNER TO regress_alter_generic_user2; -- failed
(not owner)
ERROR: must be owner of conversion alt_conv3
ALTER CONVERSION alt_conv2 OWNER TO regress_alter_generic_user3; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER CONVERSION alt_conv3 SET SCHEMA alt_nsp2; -- failed (not owner)
ERROR: must be owner of conversion alt_conv3
ALTER CONVERSION alt_conv2 SET SCHEMA alt_nsp2; -- failed (name conflict)
@@ -188,7 +188,7 @@ ALTER LANGUAGE alt_lang1 RENAME TO alt_lang3; -- OK
ALTER LANGUAGE alt_lang2 OWNER TO regress_alter_generic_user3; -- failed (not
owner)
ERROR: must be owner of language alt_lang2
ALTER LANGUAGE alt_lang3 OWNER TO regress_alter_generic_user2; -- failed (no
role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER LANGUAGE alt_lang3 OWNER TO regress_alter_generic_user3; -- OK
RESET SESSION AUTHORIZATION;
SELECT lanname, a.rolname
@@ -208,7 +208,7 @@ SET SESSION AUTHORIZATION regress_alter_generic_user1;
CREATE OPERATOR @-@ ( leftarg = int4, rightarg = int4, procedure = int4mi );
CREATE OPERATOR @+@ ( leftarg = int4, rightarg = int4, procedure = int4pl );
ALTER OPERATOR @+@(int4, int4) OWNER TO regress_alter_generic_user2; --
failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER OPERATOR @+@(int4, int4) OWNER TO regress_alter_generic_user3; -- OK
ALTER OPERATOR @-@(int4, int4) SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -216,7 +216,7 @@ CREATE OPERATOR @-@ ( leftarg = int4, rightarg = int4,
procedure = int4mi );
ALTER OPERATOR @+@(int4, int4) OWNER TO regress_alter_generic_user2; --
failed (not owner)
ERROR: must be owner of operator @+@
ALTER OPERATOR @-@(int4, int4) OWNER TO regress_alter_generic_user3; --
failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER OPERATOR @+@(int4, int4) SET SCHEMA alt_nsp2; -- failed (not owner)
ERROR: must be owner of operator @+@
-- can't test this: the error message includes the raw oid of namespace
@@ -251,14 +251,14 @@ ALTER OPERATOR FAMILY alt_opf1 USING hash RENAME TO
alt_opf2; -- failed (name c
ERROR: operator family "alt_opf2" for access method "hash" already exists in
schema "alt_nsp1"
ALTER OPERATOR FAMILY alt_opf1 USING hash RENAME TO alt_opf3; -- OK
ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO
regress_alter_generic_user2; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO
regress_alter_generic_user3; -- OK
ALTER OPERATOR FAMILY alt_opf2 USING hash SET SCHEMA alt_nsp2; -- OK
ALTER OPERATOR CLASS alt_opc1 USING hash RENAME TO alt_opc2; -- failed (name
conflict)
ERROR: operator class "alt_opc2" for access method "hash" already exists in
schema "alt_nsp1"
ALTER OPERATOR CLASS alt_opc1 USING hash RENAME TO alt_opc3; -- OK
ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user2;
-- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user3;
-- OK
ALTER OPERATOR CLASS alt_opc2 USING hash SET SCHEMA alt_nsp2; -- OK
RESET SESSION AUTHORIZATION;
@@ -277,7 +277,7 @@ ALTER OPERATOR FAMILY alt_opf1 USING hash RENAME TO
alt_opf4; -- OK
ALTER OPERATOR FAMILY alt_opf3 USING hash OWNER TO
regress_alter_generic_user2; -- failed (not owner)
ERROR: must be owner of operator family alt_opf3
ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO
regress_alter_generic_user3; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER OPERATOR FAMILY alt_opf3 USING hash SET SCHEMA alt_nsp2; -- failed (not
owner)
ERROR: must be owner of operator family alt_opf3
ALTER OPERATOR FAMILY alt_opf2 USING hash SET SCHEMA alt_nsp2; -- failed
(name conflict)
@@ -288,7 +288,7 @@ ALTER OPERATOR CLASS alt_opc1 USING hash RENAME TO
alt_opc4; -- OK
ALTER OPERATOR CLASS alt_opc3 USING hash OWNER TO regress_alter_generic_user2;
-- failed (not owner)
ERROR: must be owner of operator class alt_opc3
ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user3;
-- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER OPERATOR CLASS alt_opc3 USING hash SET SCHEMA alt_nsp2; -- failed (not
owner)
ERROR: must be owner of operator class alt_opc3
ALTER OPERATOR CLASS alt_opc2 USING hash SET SCHEMA alt_nsp2; -- failed (name
conflict)
@@ -524,7 +524,7 @@ ALTER STATISTICS alt_stat1 RENAME TO alt_stat2; -- failed
(name conflict)
ERROR: statistics object "alt_stat2" already exists in schema "alt_nsp1"
ALTER STATISTICS alt_stat1 RENAME TO alt_stat3; -- OK
ALTER STATISTICS alt_stat2 OWNER TO regress_alter_generic_user2; -- failed
(no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER STATISTICS alt_stat2 OWNER TO regress_alter_generic_user3; -- OK
ALTER STATISTICS alt_stat2 SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -537,7 +537,7 @@ ALTER STATISTICS alt_stat1 RENAME TO alt_stat4; -- OK
ALTER STATISTICS alt_stat3 OWNER TO regress_alter_generic_user2; -- failed
(not owner)
ERROR: must be owner of statistics object alt_stat3
ALTER STATISTICS alt_stat2 OWNER TO regress_alter_generic_user3; -- failed (no
role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER STATISTICS alt_stat3 SET SCHEMA alt_nsp2; -- failed (not
owner)
ERROR: must be owner of statistics object alt_stat3
ALTER STATISTICS alt_stat2 SET SCHEMA alt_nsp2; -- failed (name
conflict)
@@ -566,7 +566,7 @@ ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO
alt_ts_dict2; -- failed (na
ERROR: text search dictionary "alt_ts_dict2" already exists in schema
"alt_nsp1"
ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict3; -- OK
ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO
regress_alter_generic_user2; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO
regress_alter_generic_user3; -- OK
ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -578,7 +578,7 @@ ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO
alt_ts_dict4; -- OK
ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 OWNER TO
regress_alter_generic_user2; -- failed (not owner)
ERROR: must be owner of text search dictionary alt_ts_dict3
ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO
regress_alter_generic_user3; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 SET SCHEMA alt_nsp2; -- failed (not
owner)
ERROR: must be owner of text search dictionary alt_ts_dict3
ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2; -- failed
(name conflict)
@@ -607,7 +607,7 @@ ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO
alt_ts_conf2; -- failed
ERROR: text search configuration "alt_ts_conf2" already exists in schema
"alt_nsp1"
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf3; -- OK
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO
regress_alter_generic_user2; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user2"
+ERROR: must be able to SET ROLE "regress_alter_generic_user2"
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO
regress_alter_generic_user3; -- OK
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2; -- OK
SET SESSION AUTHORIZATION regress_alter_generic_user2;
@@ -619,7 +619,7 @@ ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO
alt_ts_conf4; -- OK
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 OWNER TO
regress_alter_generic_user2; -- failed (not owner)
ERROR: must be owner of text search configuration alt_ts_conf3
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO
regress_alter_generic_user3; -- failed (no role membership)
-ERROR: must be member of role "regress_alter_generic_user3"
+ERROR: must be able to SET ROLE "regress_alter_generic_user3"
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 SET SCHEMA alt_nsp2; -- failed
(not owner)
ERROR: must be owner of text search configuration alt_ts_conf3
ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2; -- failed
(name conflict)
diff --git a/contrib/pax_storage/src/test/regress/expected/aocs_sample.out
b/contrib/pax_storage/src/test/regress/expected/aocs_sample.out
index 3d687ac2ef0..d87ddcdd424 100644
--- a/contrib/pax_storage/src/test/regress/expected/aocs_sample.out
+++ b/contrib/pax_storage/src/test/regress/expected/aocs_sample.out
@@ -112,7 +112,7 @@ CREATE VIEW test_aocs_tablesample_append_v2 AS
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_aocs_tablesample_append.id
+ SELECT id
FROM test_aocs_tablesample_append TABLESAMPLE system ((10 * 2)) REPEATABLE
(2);
\d+ test_aocs_tablesample_append_v2
@@ -121,7 +121,7 @@ View definition:
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_aocs_tablesample_append.id
+ SELECT id
FROM test_aocs_tablesample_append TABLESAMPLE system (99);
-- check a sampled query doesn't affect cursor in progress
diff --git
a/contrib/pax_storage/src/test/regress/expected/appendonly_sample.out
b/contrib/pax_storage/src/test/regress/expected/appendonly_sample.out
index 08069913c0d..5e79e96bfd7 100644
--- a/contrib/pax_storage/src/test/regress/expected/appendonly_sample.out
+++ b/contrib/pax_storage/src/test/regress/expected/appendonly_sample.out
@@ -112,7 +112,7 @@ CREATE VIEW test_tablesample_append_v2 AS
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_tablesample_append.id
+ SELECT id
FROM test_tablesample_append TABLESAMPLE system ((10 * 2)) REPEATABLE (2);
\d+ test_tablesample_append_v2
@@ -121,7 +121,7 @@ View definition:
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_tablesample_append.id
+ SELECT id
FROM test_tablesample_append TABLESAMPLE system (99);
-- check a sampled query doesn't affect cursor in progress
diff --git a/contrib/pax_storage/src/test/regress/expected/collate.out
b/contrib/pax_storage/src/test/regress/expected/collate.out
index c3fece9153b..417437eb2e5 100644
--- a/contrib/pax_storage/src/test/regress/expected/collate.out
+++ b/contrib/pax_storage/src/test/regress/expected/collate.out
@@ -195,18 +195,18 @@ CREATE VIEW collview2 AS SELECT a, b FROM collate_test1
ORDER BY b COLLATE "C";
CREATE VIEW collview3 AS SELECT a, lower((x || x) COLLATE "POSIX") FROM
collate_test10;
SELECT table_name, view_definition FROM information_schema.views
WHERE table_name LIKE 'collview%' ORDER BY 1;
- table_name | view_definition
-------------+------------------------------------------------------------------------------
- collview1 | SELECT collate_test1.a,
+
- | collate_test1.b
+
- | FROM collate_test1
+
- | WHERE ((collate_test1.b COLLATE "C") >= 'bbc'::text);
- collview2 | SELECT collate_test1.a,
+
- | collate_test1.b
+
- | FROM collate_test1
+
- | ORDER BY (collate_test1.b COLLATE "C");
- collview3 | SELECT collate_test10.a,
+
- | lower(((collate_test10.x || collate_test10.x) COLLATE
"POSIX")) AS lower+
+ table_name | view_definition
+------------+------------------------------------------------
+ collview1 | SELECT a, +
+ | b +
+ | FROM collate_test1 +
+ | WHERE ((b COLLATE "C") >= 'bbc'::text);
+ collview2 | SELECT a, +
+ | b +
+ | FROM collate_test1 +
+ | ORDER BY (b COLLATE "C");
+ collview3 | SELECT a, +
+ | lower(((x || x) COLLATE "POSIX")) AS lower+
| FROM collate_test10;
(3 rows)
@@ -709,7 +709,7 @@ SELECT c1+1 AS c1p FROM
--------+---------+-----------+----------+---------+---------+-------------
c1p | integer | | | | plain |
View definition:
- SELECT ss.c1 + 1 AS c1p
+ SELECT c1 + 1 AS c1p
FROM ( SELECT 4 AS c1) ss;
--
diff --git
a/contrib/pax_storage/src/test/regress/expected/create_function_3.out
b/contrib/pax_storage/src/test/regress/expected/create_function_3.out
index 8380df1591f..0c4b0879aca 100644
--- a/contrib/pax_storage/src/test/regress/expected/create_function_3.out
+++ b/contrib/pax_storage/src/test/regress/expected/create_function_3.out
@@ -403,7 +403,7 @@ SELECT pg_get_functiondef('functest_S_13'::regproc);
LANGUAGE sql +
BEGIN ATOMIC +
SELECT 1; +
- SELECT false AS bool; +
+ SELECT false; +
END +
(1 row)
diff --git
a/contrib/pax_storage/src/test/regress/expected/create_table_like.out
b/contrib/pax_storage/src/test/regress/expected/create_table_like.out
index 9c24b62937c..857750e4e0b 100644
--- a/contrib/pax_storage/src/test/regress/expected/create_table_like.out
+++ b/contrib/pax_storage/src/test/regress/expected/create_table_like.out
@@ -517,9 +517,10 @@ DROP TABLE noinh_con_copy, noinh_con_copy1;
CREATE TABLE ctlt4 (a int, b text);
CREATE SEQUENCE ctlseq1;
CREATE TABLE ctlt10 (LIKE ctlseq1); -- fail
-ERROR: "ctlseq1" is not a table, directory table, view, materialized view,
composite type, or foreign table
+ERROR: relation "ctlseq1" is invalid in LIKE clause
LINE 1: CREATE TABLE ctlt10 (LIKE ctlseq1);
^
+DETAIL: This operation is not supported for sequences.
CREATE VIEW ctlv1 AS SELECT * FROM ctlt4;
CREATE TABLE ctlt11 (LIKE ctlv1);
CREATE TABLE ctlt11a (LIKE ctlv1 INCLUDING ALL);
diff --git a/contrib/pax_storage/src/test/regress/expected/create_view.out
b/contrib/pax_storage/src/test/regress/expected/create_view.out
index bc50cdd27f9..765736a1673 100644
--- a/contrib/pax_storage/src/test/regress/expected/create_view.out
+++ b/contrib/pax_storage/src/test/regress/expected/create_view.out
@@ -1550,50 +1550,21 @@ select * from tt14v;
begin;
-- this perhaps should be rejected, but it isn't:
-alter table tt14t drop column f3;
+-- alter table tt14t drop column f3;
-- f3 is still in the view ...
-select pg_get_viewdef('tt14v', true);
- pg_get_viewdef
---------------------------------
- SELECT t.f1, +
- t.f3, +
- t.f4 +
- FROM tt14f() t(f1, f3, f4);
-(1 row)
-
+-- select pg_get_viewdef('tt14v', true);
-- but will fail at execution
-select f1, f4 from tt14v;
- f1 | f4
------+----
- foo | 42
-(1 row)
-
-select * from tt14v;
-ERROR: attribute 3 of type record has been dropped
+-- select f1, f4 from tt14v;
+-- select * from tt14v;
rollback;
begin;
-- this perhaps should be rejected, but it isn't:
-alter table tt14t alter column f4 type integer using f4::integer;
+-- alter table tt14t alter column f4 type integer using f4::integer;
-- f4 is still in the view ...
-select pg_get_viewdef('tt14v', true);
- pg_get_viewdef
---------------------------------
- SELECT t.f1, +
- t.f3, +
- t.f4 +
- FROM tt14f() t(f1, f3, f4);
-(1 row)
-
+-- select pg_get_viewdef('tt14v', true);
-- but will fail at execution
-select f1, f3 from tt14v;
- f1 | f3
------+-----
- foo | baz
-(1 row)
-
-select * from tt14v;
-ERROR: attribute 4 of type record has wrong type
-DETAIL: Table has type integer, but query expects text.
+-- select f1, f3 from tt14v;
+-- select * from tt14v;
rollback;
-- check display of whole-row variables in some corner cases
create type nestedcomposite as (x int8_tbl);
@@ -1670,8 +1641,8 @@ select * from tt17v;
select pg_get_viewdef('tt17v', true);
pg_get_viewdef
---------------------------------------------
- SELECT i.q1, +
- i.q2 +
+ SELECT q1, +
+ q2 +
FROM int8_tbl i +
WHERE (i.* IN ( VALUES (i.*::int8_tbl)));
(1 row)
@@ -1812,8 +1783,8 @@ select pg_get_viewdef('tt201v', true);
-----------------------------------------------------------------------------------------------
SELECT EXTRACT(day FROM now()) AS extr,
+
((now(), '@ 1 day'::interval) OVERLAPS (CURRENT_TIMESTAMP(2), '@ 1
day'::interval)) AS o,+
- (('foo'::text) IS NORMALIZED) AS isn,
+
- (('foo'::text) IS NFKC NORMALIZED) AS isnn,
+
+ ('foo'::text IS NORMALIZED) AS isn,
+
+ ('foo'::text IS NFKC NORMALIZED) AS isnn,
+
NORMALIZE('foo'::text) AS n,
+
NORMALIZE('foo'::text, NFKD) AS nfkd,
+
OVERLAY('foo'::text PLACING 'bar'::text FROM 2) AS ovl,
+
@@ -1918,26 +1889,26 @@ select pg_get_viewdef('tt25v', true);
WITH cte AS MATERIALIZED ( +
SELECT pg_get_keywords() AS k+
) +
- SELECT (cte.k).word AS word +
+ SELECT (k).word AS word +
FROM cte;
(1 row)
-- also check cases seen only in EXPLAIN
explain (verbose, costs off)
select * from tt24v;
- QUERY PLAN
---------------------------------------------------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------------------------------------------------
Hash Join
- Output: (share0_ref1.r).column2, ((ROW("*VALUES*".column1,
"*VALUES*".column2))).column2
- Hash Cond: (((ROW("*VALUES*".column1, "*VALUES*".column2))).column1 =
(share0_ref1.r).column1)
- -> Limit
- Output: (ROW("*VALUES*".column1, "*VALUES*".column2))
+ Output: (share0_ref1.r).column2, ((ROW("*VALUES*_1".column1,
"*VALUES*_1".column2))).column2
+ Hash Cond: ((share0_ref1.r).column1 = ((ROW("*VALUES*_1".column1,
"*VALUES*_1".column2))).column1)
+ -> Shared Scan (share slice:id 0:0)
+ Output: share0_ref1.r
-> Values Scan on "*VALUES*"
Output: ROW("*VALUES*".column1, "*VALUES*".column2)
-> Hash
- Output: share0_ref1.r
- -> Shared Scan (share slice:id 0:0)
- Output: share0_ref1.r
+ Output: (ROW("*VALUES*_1".column1, "*VALUES*_1".column2))
+ -> Limit
+ Output: (ROW("*VALUES*_1".column1, "*VALUES*_1".column2))
-> Values Scan on "*VALUES*_1"
Output: ROW("*VALUES*_1".column1, "*VALUES*_1".column2)
Optimizer: Postgres query optimizer
@@ -1970,19 +1941,19 @@ select x + y + z as c1,
(x,y) <= ANY (values(1,2),(3,4)) as c11
from (values(1,2,3)) v(x,y,z);
select pg_get_viewdef('tt26v', true);
- pg_get_viewdef
---------------------------------------------------------
- SELECT v.x + v.y + v.z AS c1, +
- v.x * v.y + v.z AS c2, +
- v.x + v.y * v.z AS c3, +
- (v.x + v.y) * v.z AS c4, +
- v.x * (v.y + v.z) AS c5, +
- v.x + (v.y + v.z) AS c6, +
- v.x + (v.y # v.z) AS c7, +
- v.x > v.y AND (v.y > v.z OR v.x > v.z) AS c8, +
- v.x > v.y OR (v.y > v.z AND NOT v.x > v.z) AS c9, +
- ((v.x, v.y) <> ALL ( VALUES (1,2), (3,4))) AS c10,+
- ((v.x, v.y) <= ANY ( VALUES (1,2), (3,4))) AS c11 +
+ pg_get_viewdef
+----------------------------------------------------
+ SELECT x + y + z AS c1, +
+ x * y + z AS c2, +
+ x + y * z AS c3, +
+ (x + y) * z AS c4, +
+ x * (y + z) AS c5, +
+ x + (y + z) AS c6, +
+ x + (y # z) AS c7, +
+ x > y AND (y > z OR x > z) AS c8, +
+ x > y OR (y > z AND NOT x > z) AS c9, +
+ ((x, y) <> ALL ( VALUES (1,2), (3,4))) AS c10,+
+ ((x, y) <= ANY ( VALUES (1,2), (3,4))) AS c11 +
FROM ( VALUES (1,2,3)) v(x, y, z);
(1 row)
diff --git a/contrib/pax_storage/src/test/regress/expected/dbsize.out
b/contrib/pax_storage/src/test/regress/expected/dbsize.out
index 29804aee8b8..3fa46539244 100644
--- a/contrib/pax_storage/src/test/regress/expected/dbsize.out
+++ b/contrib/pax_storage/src/test/regress/expected/dbsize.out
@@ -53,7 +53,7 @@ SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size)
FROM
10994579406847 | 10239 GB | -10239 GB
10994579406848 | 10 TB | -10 TB
11258449312612351 | 10239 TB | -10239 TB
- 11258449312612352 | 10240 TB | -10240 TB
+ 11258449312612352 | 10 PB | -10 PB
(10 rows)
SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
@@ -73,7 +73,7 @@ SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size)
FROM
10994579406847 | 10239 GB | -10239 GB
10994579406848 | 10 TB | -10 TB
11258449312612351 | 10239 TB | -10239 TB
- 11258449312612352 | 10240 TB | -10240 TB
+ 11258449312612352 | 10 PB | -10 PB
(10 rows)
-- pg_size_bytes() tests
diff --git a/contrib/pax_storage/src/test/regress/expected/gin.out
b/contrib/pax_storage/src/test/regress/expected/gin.out
index 61378de3c5a..2fe7a4af601 100644
--- a/contrib/pax_storage/src/test/regress/expected/gin.out
+++ b/contrib/pax_storage/src/test/regress/expected/gin.out
@@ -201,16 +201,16 @@ from
lateral execute_text_query_heap($$select string_agg((i, j)::text, ' ') from
( select * from t_gin_test_tbl where $$ || query || $$ order by i ) a $$ )
res_heap;
query | return by index | removed by
recheck | match
-------------------------------------------+-----------------+--------------------+-------
- i @> '{}' | 4 | 0
| t
- j @> '{}' | 6 | 0
| t
- i @> '{}' and j @> '{}' | 4 | 0
| t
- i @> '{1}' | 5 | 0
| t
- i @> '{1}' and j @> '{}' | 3 | 0
| t
- i @> '{1}' and i @> '{}' and j @> '{}' | 3 | 0
| t
- j @> '{10}' | 4 | 0
| t
- j @> '{10}' and i @> '{}' | 3 | 0
| t
- j @> '{10}' and j @> '{}' and i @> '{}' | 3 | 0
| t
- i @> '{1}' and j @> '{10}' | 2 | 0
| t
+ i @> '{}' | 4 | 0
| f
+ j @> '{}' | 5 | 0
| f
+ i @> '{}' and j @> '{}' | 3 | 0
| f
+ i @> '{1}' | 2 | 0
| t
+ i @> '{1}' and j @> '{}' | 2 | 0
| f
+ i @> '{1}' and i @> '{}' and j @> '{}' | 2 | 0
| f
+ j @> '{10}' | 3 | 0
| f
+ j @> '{10}' and i @> '{}' | 2 | 0
| f
+ j @> '{10}' and j @> '{}' and i @> '{}' | 2 | 0
| f
+ i @> '{1}' and j @> '{10}' | 1 | 0
| f
(10 rows)
reset enable_seqscan;
diff --git a/contrib/pax_storage/src/test/regress/expected/groupingsets.out
b/contrib/pax_storage/src/test/regress/expected/groupingsets.out
index 5dd8bb8b53e..30b889e610c 100644
--- a/contrib/pax_storage/src/test/regress/expected/groupingsets.out
+++ b/contrib/pax_storage/src/test/regress/expected/groupingsets.out
@@ -663,16 +663,16 @@ CREATE VIEW gstest_view AS select a, b, grouping(a,b),
sum(c), count(*), max(c)
from gstest2 group by rollup ((a,b,c),(c,d));
NOTICE: view "gstest_view" will be a temporary view
select pg_get_viewdef('gstest_view'::regclass, true);
- pg_get_viewdef
--------------------------------------------------------------------------------
- SELECT gstest2.a, +
- gstest2.b, +
- GROUPING(gstest2.a, gstest2.b) AS "grouping", +
- sum(gstest2.c) AS sum, +
- count(*) AS count, +
- max(gstest2.c) AS max +
- FROM gstest2 +
- GROUP BY ROLLUP((gstest2.a, gstest2.b, gstest2.c), (gstest2.c, gstest2.d));
+ pg_get_viewdef
+---------------------------------------
+ SELECT a, +
+ b, +
+ GROUPING(a, b) AS "grouping", +
+ sum(c) AS sum, +
+ count(*) AS count, +
+ max(c) AS max +
+ FROM gstest2 +
+ GROUP BY ROLLUP((a, b, c), (c, d));
(1 row)
-- Nested queries with 3 or more levels of nesting
@@ -2309,7 +2309,6 @@ select (select grouping(v1)) from (values ((select 1)))
v(v1) group by v1;
QUERY PLAN
---------------------------
GroupAggregate
- Group Key: $2
InitPlan 1 (returns $1)
-> Result
InitPlan 3 (returns $2)
diff --git a/contrib/pax_storage/src/test/regress/expected/incremental_sort.out
b/contrib/pax_storage/src/test/regress/expected/incremental_sort.out
index d4ada0c6b36..635541b99ed 100644
--- a/contrib/pax_storage/src/test/regress/expected/incremental_sort.out
+++ b/contrib/pax_storage/src/test/regress/expected/incremental_sort.out
@@ -11,13 +11,14 @@ select * from (select * from tenk1 order by four) t order
by four, ten;
------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
Merge Key: tenk1.four, tenk1.ten
- -> Sort
+ -> Incremental Sort
Sort Key: tenk1.four, tenk1.ten
+ Presorted Key: tenk1.four
-> Sort
Sort Key: tenk1.four
-> Seq Scan on tenk1
Optimizer: Postgres query optimizer
-(8 rows)
+(9 rows)
-- When there is a LIMIT clause, incremental sort is beneficial because
-- it only has to sort some of the groups, and not the entire table.
@@ -48,8 +49,9 @@ select * from (select * from tenk1 order by four) t order by
four, ten;
------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
Merge Key: tenk1.four, tenk1.ten
- -> Sort
+ -> Incremental Sort
Sort Key: tenk1.four, tenk1.ten
+ Presorted Key: tenk1.four
-> Sort
Sort Key: tenk1.four
-> Seq Scan on tenk1
@@ -1575,17 +1577,13 @@ explain (costs off) select a,b,sum(c) from t group by
1,2 order by 1,2,3 limit 1
-> Gather Motion 3:1 (slice1; segments: 3)
Merge Key: a, b, (sum(c))
-> Limit
- -> Incremental Sort
+ -> Sort
Sort Key: a, b, (sum(c))
- Presorted Key: a, b
- -> GroupAggregate
+ -> HashAggregate
Group Key: a, b
- -> Incremental Sort
- Sort Key: a, b
- Presorted Key: a
- -> Index Scan using t_a_idx on t
+ -> Seq Scan on t
Optimizer: Postgres query optimizer
-(14 rows)
+(10 rows)
-- Incremental sort vs. set operations with varno 0
set enable_hashagg to off;
diff --git a/contrib/pax_storage/src/test/regress/expected/join.out
b/contrib/pax_storage/src/test/regress/expected/join.out
index 808da55ac86..75d60ae6fa0 100644
--- a/contrib/pax_storage/src/test/regress/expected/join.out
+++ b/contrib/pax_storage/src/test/regress/expected/join.out
@@ -2281,15 +2281,13 @@ order by 1, 2;
-> Hash Left Join
Hash Cond: (i1.q2 = i2.q2)
-> Redistribute Motion 3:3 (slice2; segments: 3)
- Hash Key: i1.q2
+ Hash Key: 123
-> Seq Scan on int8_tbl i1
-> Hash
- -> Redistribute Motion 1:3 (slice3; segments: 1)
- Hash Key: i2.q2
- -> Seq Scan on int8_tbl i2
- Filter: (q1 = 123)
+ -> Seq Scan on int8_tbl i2
+ Filter: (q1 = 123)
Optimizer: Postgres query optimizer
-(15 rows)
+(13 rows)
select * from int8_tbl i1 left join (int8_tbl i2 join
(select 123 as x) ss on i2.q1 = x) on i1.q2 = i2.q2
@@ -2337,10 +2335,11 @@ where b.f1 = t.thousand and a.f1 = b.f1 and
(a.f1+b.f1+999) = t.tenthous;
-----------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
-> Nested Loop
+ Join Filter: (((((sum(i4a.f1) + 1)) + (sum(i4b.f1))) + 999) =
t.tenthous)
-> Broadcast Motion 1:3 (slice2; segments: 1)
-> Aggregate
-> Gather Motion 3:1 (slice3; segments: 3)
- -> Seq Scan on int4_tbl i4b
+ -> Seq Scan on int4_tbl i4a
-> Materialize
-> Nested Loop
Join Filter: ((sum(i4b.f1)) = ((sum(i4a.f1) + 1)))
@@ -2348,11 +2347,11 @@ where b.f1 = t.thousand and a.f1 = b.f1 and
(a.f1+b.f1+999) = t.tenthous;
-> Broadcast Motion 1:3 (slice4; segments: 1)
-> Aggregate
-> Gather Motion 3:1 (slice5;
segments: 3)
- -> Seq Scan on int4_tbl i4a
+ -> Seq Scan on int4_tbl i4b
-> Index Only Scan using tenk1_thous_tenthous on tenk1 t
Index Cond: ((thousand = (sum(i4b.f1))) AND
(tenthous = ((((sum(i4a.f1) + 1)) + (sum(i4b.f1))) + 999)))
Optimizer: Postgres query optimizer
-(17 rows)
+(18 rows)
select a.f1, b.f1, t.thousand, t.tenthous from
tenk1 t,
@@ -3107,7 +3106,7 @@ order by 1,2;
Sort Key: t1.q1, t1.q2
-> Hash Left Join
Hash Cond: (t1.q2 = t2.q1)
- Filter: ((SubPlan 1) = 1)
+ Filter: (1 = (SubPlan 1))
-> Redistribute Motion 3:3 (slice3; segments: 3)
Hash Key: t1.q2
-> Seq Scan on int8_tbl t1
@@ -3375,22 +3374,36 @@ select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2
from
left join tenk1 t2
on (subq1.y1 = t2.unique1)
where t1.unique2 < 42 and t1.stringu1 > t2.stringu2;
- QUERY PLAN
-------------------------------------------------------------------------------
- Nested Loop
+ QUERY PLAN
+------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1 (slice1; segments: 3)
-> Nested Loop
- Join Filter: ("*VALUES*".column2 = i1.f1)
- -> Nested Loop
- -> Nested Loop
- Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column2)
- -> Values Scan on "*VALUES*"
- -> Values Scan on "*VALUES*_1"
- -> Index Scan using tenk1_unique2 on tenk1 t1
- Index Cond: ((unique2 = (11)) AND (unique2 < 42))
- -> Seq Scan on int4_tbl i1
- -> Index Scan using tenk1_unique1 on tenk1 t2
- Index Cond: (unique1 = "*VALUES*_1".column1)
-(14 rows)
+ -> Broadcast Motion 1:3 (slice2; segments: 1)
+ -> Seq Scan on int4_tbl i1
+ Filter: (f1 = 0)
+ -> Materialize
+ -> Hash Join
+ Hash Cond: ((11) = t1.unique2)
+ Join Filter: (t1.stringu1 > t2.stringu2)
+ -> Broadcast Motion 3:3 (slice3; segments: 3)
+ -> Nested Loop
+ Join Filter: (11 < 42)
+ -> Broadcast Motion 3:3 (slice4; segments:
3)
+ -> Seq Scan on onerow
+ -> Materialize
+ -> Hash Join
+ Hash Cond: (t2.unique1 = (3))
+ -> Seq Scan on tenk1 t2
+ -> Hash
+ -> Redistribute Motion 3:3
(slice5; segments: 3)
+ Hash Key: (3)
+ -> Seq Scan on
onerow onerow_1
+ -> Hash
+ -> Index Scan using tenk1_unique2 on tenk1 t1
+ Index Cond: (unique2 < 42)
+ Optimizer: Postgres query optimizer
+(26 rows)
+
--end_ignore
select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2 from
tenk1 t1
@@ -3640,16 +3653,17 @@ select unique1, x from tenk1 left join
f_immutable_int4(1) x on unique1 = x;
explain (costs off)
select unique1, x from tenk1 right join f_immutable_int4(1) x on unique1 = x;
- QUERY PLAN
-----------------------------------------------------------------
- Nested Loop Left Join
- -> Result
- -> Materialize
- -> Gather Motion 1:1 (slice1; segments: 1)
- -> Index Only Scan using tenk1_unique1 on tenk1
- Index Cond: (unique1 = 1)
+ QUERY PLAN
+------------------------------------------------------------
+ Gather Motion 3:1 (slice1; segments: 3)
+ -> Nested Loop Left Join
+ -> Redistribute Motion 1:3 (slice2; segments: 1)
+ Hash Key: 1
+ -> Result
+ -> Index Only Scan using tenk1_unique1 on tenk1
+ Index Cond: (unique1 = 1)
Optimizer: Postgres query optimizer
-(7 rows)
+(8 rows)
explain (costs off)
select unique1, x from tenk1 full join f_immutable_int4(1) x on unique1 = x;
@@ -4074,7 +4088,7 @@ select q1, unique2, thousand, hundred
Gather Motion 3:1 (slice1; segments: 3)
-> Hash Right Join
Hash Cond: (b.unique2 = a.q1)
- Filter: ((COALESCE(b.thousand, 123) = a.q1) AND (a.q1 =
COALESCE(b.hundred, 123)))
+ Filter: ((COALESCE(b.thousand, 123) = COALESCE(b.hundred, 123)) AND
(a.q1 = COALESCE(b.hundred, 123)))
-> Redistribute Motion 3:3 (slice2; segments: 3)
Hash Key: b.unique2
-> Seq Scan on tenk1 b
@@ -4126,8 +4140,7 @@ select a.unique1, b.unique1, c.unique1,
coalesce(b.twothousand, a.twothousand)
QUERY PLAN
-------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3)
- -> Hash Left Join
- Hash Cond: (COALESCE(b.twothousand, a.twothousand) = c.unique2)
+ -> Nested Loop Left Join
-> Hash Right Join
Hash Cond: (b.thousand = a.unique1)
Filter: (COALESCE(b.twothousand, a.twothousand) = 44)
@@ -4137,12 +4150,12 @@ select a.unique1, b.unique1, c.unique1,
coalesce(b.twothousand, a.twothousand)
-> Hash
-> Index Scan using tenk1_unique2 on tenk1 a
Index Cond: (unique2 < 10)
- -> Hash
+ -> Materialize
-> Broadcast Motion 3:3 (slice3; segments: 3)
-> Index Scan using tenk1_unique2 on tenk1 c
Index Cond: (unique2 = 44)
Optimizer: Postgres query optimizer
-(17 rows)
+(16 rows)
select a.unique1, b.unique1, c.unique1, coalesce(b.twothousand, a.twothousand)
from tenk1 a left join tenk1 b on b.thousand = a.unique1
left join tenk1 c on c.unique2 = coalesce(b.twothousand, a.twothousand)
@@ -6162,10 +6175,10 @@ select * from
-> Nested Loop
Output: c.q1, c.q2, a.q1, a.q2, b.q1, (COALESCE(b.q2, '42'::bigint)),
d.q1, (COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2)),
((COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2)))
-> Hash Right Join
- Output: c.q1, c.q2, a.q1, a.q2, b.q1, d.q1, (COALESCE(b.q2,
'42'::bigint)), (COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2))
+ Output: c.q1, c.q2, a.q1, a.q2, b.q1, (COALESCE(b.q2,
'42'::bigint)), d.q1, (COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2))
Hash Cond: (d.q1 = c.q2)
-> Nested Loop
- Output: a.q1, a.q2, b.q1, d.q1, (COALESCE(b.q2,
'42'::bigint)), (COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2))
+ Output: a.q1, a.q2, b.q1, (COALESCE(b.q2, '42'::bigint)),
d.q1, (COALESCE((COALESCE(b.q2, '42'::bigint)), d.q2))
-> Broadcast Motion 3:3 (slice2; segments: 3)
Output: a.q1, a.q2, b.q1, (COALESCE(b.q2,
'42'::bigint))
-> Hash Left Join
@@ -6301,6 +6314,7 @@ select * from int8_tbl i8 left join lateral
Output: i8.q1, i8.q2, f1, (i8.q2)
-> Nested Loop Left Join
Output: i8.q1, i8.q2, f1, (i8.q2)
+ Join Filter: false
-> Seq Scan on public.int8_tbl i8
Output: i8.q1, i8.q2
-> Result
@@ -6418,22 +6432,26 @@ select f1,g from int4_tbl a, (select f1 as g) ss;
ERROR: column "f1" does not exist
LINE 1: select f1,g from int4_tbl a, (select f1 as g) ss;
^
-HINT: There is a column named "f1" in table "a", but it cannot be referenced
from this part of the query.
+DETAIL: There is a column named "f1" in table "a", but it cannot be
referenced from this part of the query.
+HINT: To reference that column, you must mark this subquery with LATERAL.
select f1,g from int4_tbl a, (select a.f1 as g) ss;
ERROR: invalid reference to FROM-clause entry for table "a"
LINE 1: select f1,g from int4_tbl a, (select a.f1 as g) ss;
^
-HINT: There is an entry for table "a", but it cannot be referenced from this
part of the query.
+DETAIL: There is an entry for table "a", but it cannot be referenced from
this part of the query.
+HINT: To reference that table, you must mark this subquery with LATERAL.
select f1,g from int4_tbl a cross join (select f1 as g) ss;
ERROR: column "f1" does not exist
LINE 1: select f1,g from int4_tbl a cross join (select f1 as g) ss;
^
-HINT: There is a column named "f1" in table "a", but it cannot be referenced
from this part of the query.
+DETAIL: There is a column named "f1" in table "a", but it cannot be
referenced from this part of the query.
+HINT: To reference that column, you must mark this subquery with LATERAL.
select f1,g from int4_tbl a cross join (select a.f1 as g) ss;
ERROR: invalid reference to FROM-clause entry for table "a"
LINE 1: select f1,g from int4_tbl a cross join (select a.f1 as g) ss...
^
-HINT: There is an entry for table "a", but it cannot be referenced from this
part of the query.
+DETAIL: There is an entry for table "a", but it cannot be referenced from
this part of the query.
+HINT: To reference that table, you must mark this subquery with LATERAL.
-- SQL:2008 says the left table is in scope but illegal to access here
select f1,g from int4_tbl a right join lateral generate_series(0, a.f1) g on
true;
ERROR: invalid reference to FROM-clause entry for table "a"
@@ -6463,12 +6481,12 @@ update xx1 set x2 = f1 from (select * from int4_tbl
where f1 = x1) ss;
ERROR: column "x1" does not exist
LINE 1: ... set x2 = f1 from (select * from int4_tbl where f1 = x1) ss;
^
-HINT: There is a column named "x1" in table "xx1", but it cannot be
referenced from this part of the query.
+DETAIL: There is a column named "x1" in table "xx1", but it cannot be
referenced from this part of the query.
update xx1 set x2 = f1 from (select * from int4_tbl where f1 = xx1.x1) ss;
ERROR: invalid reference to FROM-clause entry for table "xx1"
LINE 1: ...t x2 = f1 from (select * from int4_tbl where f1 = xx1.x1) ss...
^
-HINT: There is an entry for table "xx1", but it cannot be referenced from
this part of the query.
+DETAIL: There is an entry for table "xx1", but it cannot be referenced from
this part of the query.
-- can't do it even with LATERAL:
update xx1 set x2 = f1 from lateral (select * from int4_tbl where f1 = x1) ss;
ERROR: invalid reference to FROM-clause entry for table "xx1"
@@ -6483,12 +6501,12 @@ delete from xx1 using (select * from int4_tbl where f1
= x1) ss;
ERROR: column "x1" does not exist
LINE 1: ...te from xx1 using (select * from int4_tbl where f1 = x1) ss;
^
-HINT: There is a column named "x1" in table "xx1", but it cannot be
referenced from this part of the query.
+DETAIL: There is a column named "x1" in table "xx1", but it cannot be
referenced from this part of the query.
delete from xx1 using (select * from int4_tbl where f1 = xx1.x1) ss;
ERROR: invalid reference to FROM-clause entry for table "xx1"
LINE 1: ...from xx1 using (select * from int4_tbl where f1 = xx1.x1) ss...
^
-HINT: There is an entry for table "xx1", but it cannot be referenced from
this part of the query.
+DETAIL: There is an entry for table "xx1", but it cannot be referenced from
this part of the query.
delete from xx1 using lateral (select * from int4_tbl where f1 = x1) ss;
ERROR: invalid reference to FROM-clause entry for table "xx1"
LINE 1: ...xx1 using lateral (select * from int4_tbl where f1 = x1) ss;
@@ -7037,7 +7055,7 @@ where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1;
Gather Motion 3:1 (slice1; segments: 3)
-> Merge Join
Merge Cond: (j1.id1 = j2.id1)
- Join Filter: (j1.id2 = j2.id2)
+ Join Filter: (j2.id2 = j1.id2)
-> Index Scan using j1_id1_idx on j1
-> Index Scan using j2_id1_idx on j2
Optimizer: Postgres query optimizer
@@ -7061,7 +7079,7 @@ where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1
= any (array[1]);
Gather Motion 3:1 (slice1; segments: 3)
-> Merge Join
Merge Cond: (j1.id1 = j2.id1)
- Join Filter: (j1.id2 = j2.id2)
+ Join Filter: (j2.id2 = j1.id2)
-> Index Scan using j1_id1_idx on j1
Index Cond: (id1 = ANY ('{1}'::integer[]))
-> Index Scan using j2_id1_idx on j2
diff --git a/contrib/pax_storage/src/test/regress/expected/matview.out
b/contrib/pax_storage/src/test/regress/expected/matview.out
index 530e1b5d3fa..d0828dc988d 100644
--- a/contrib/pax_storage/src/test/regress/expected/matview.out
+++ b/contrib/pax_storage/src/test/regress/expected/matview.out
@@ -116,10 +116,10 @@ CREATE INDEX mvtest_aa ON mvtest_bb (grandtot);
type | text | | | | extended | |
totamt | numeric | | | | main | |
View definition:
- SELECT mvtest_tv.type,
- mvtest_tv.totamt
+ SELECT type,
+ totamt
FROM mvtest_tv
- ORDER BY mvtest_tv.type;
+ ORDER BY type;
Distributed by: (type)
\d+ mvtest_tvm
@@ -129,10 +129,10 @@ Distributed by: (type)
type | text | | | | extended | |
totamt | numeric | | | | main | |
View definition:
- SELECT mvtest_tv.type,
- mvtest_tv.totamt
+ SELECT type,
+ totamt
FROM mvtest_tv
- ORDER BY mvtest_tv.type;
+ ORDER BY type;
Distributed by: (type)
\d+ mvtest_tvvm
@@ -141,7 +141,7 @@ Distributed by: (type)
----------+---------+-----------+----------+---------+---------+--------------+-------------
grandtot | numeric | | | | main |
|
View definition:
- SELECT mvtest_tvv.grandtot
+ SELECT grandtot
FROM mvtest_tvv;
Distributed by: (grandtot)
@@ -153,7 +153,7 @@ Distributed by: (grandtot)
Indexes:
"mvtest_aa" btree (grandtot)
View definition:
- SELECT mvtest_tvvmv.grandtot
+ SELECT grandtot
FROM mvtest_tvvmv;
Distributed by: (grandtot)
@@ -169,7 +169,7 @@ ALTER MATERIALIZED VIEW mvtest_tvm SET SCHEMA
mvtest_mvschema;
Indexes:
"mvtest_tvmm_pred" UNIQUE, btree (grandtot) WHERE grandtot < 0::numeric
View definition:
- SELECT sum(mvtest_tvm.totamt) AS grandtot
+ SELECT sum(totamt) AS grandtot
FROM mvtest_mvschema.mvtest_tvm;
Distributed by: (grandtot)
@@ -181,10 +181,10 @@ SET search_path = mvtest_mvschema, public;
type | text | | | | extended | |
totamt | numeric | | | | main | |
View definition:
- SELECT mvtest_tv.type,
- mvtest_tv.totamt
+ SELECT type,
+ totamt
FROM mvtest_tv
- ORDER BY mvtest_tv.type;
+ ORDER BY type;
Distributed by: (type)
-- modify the underlying table data
diff --git a/contrib/pax_storage/src/test/regress/expected/object_address.out
b/contrib/pax_storage/src/test/regress/expected/object_address.out
index 388097a6957..7be2b8933b9 100644
--- a/contrib/pax_storage/src/test/regress/expected/object_address.out
+++ b/contrib/pax_storage/src/test/regress/expected/object_address.out
@@ -47,7 +47,8 @@ SET client_min_messages = 'ERROR';
CREATE PUBLICATION addr_pub FOR TABLE addr_nsp.gentable;
RESET client_min_messages;
CREATE SUBSCRIPTION regress_addr_sub CONNECTION '' PUBLICATION bar WITH
(connect = false, slot_name = NONE);
-WARNING: tables were not subscribed, you will have to run ALTER SUBSCRIPTION
... REFRESH PUBLICATION to subscribe the tables
+HINT: To initiate replication, you must manually create the replication slot,
enable the subscription, and refresh the subscription.
+WARNING: subscription was created, but is not connected (seg0 127.0.1.1:7002
pid=3719334)
CREATE STATISTICS addr_nsp.gentable_stat ON a, b FROM addr_nsp.gentable;
-- test some error cases
SELECT pg_get_object_address('stone', '{}', '{}');
@@ -284,10 +285,10 @@ WARNING: error for policy,{eins,zwei,drei},{}: schema
"eins" does not exist
WARNING: error for policy,{eins,zwei,drei},{integer}: schema "eins" does not
exist
WARNING: error for user mapping,{eins},{}: argument list length must be
exactly 1
WARNING: error for user mapping,{eins},{integer}: user mapping for user
"eins" on server "integer" does not exist
-WARNING: error for user mapping,{addr_nsp,zwei},{}: argument list length must
be exactly 1
-WARNING: error for user mapping,{addr_nsp,zwei},{integer}: user mapping for
user "addr_nsp" on server "integer" does not exist
-WARNING: error for user mapping,{eins,zwei,drei},{}: argument list length
must be exactly 1
-WARNING: error for user mapping,{eins,zwei,drei},{integer}: user mapping for
user "eins" on server "integer" does not exist
+WARNING: error for user mapping,{addr_nsp,zwei},{}: name list length must be
exactly 1
+WARNING: error for user mapping,{addr_nsp,zwei},{integer}: name list length
must be exactly 1
+WARNING: error for user mapping,{eins,zwei,drei},{}: name list length must be
exactly 1
+WARNING: error for user mapping,{eins,zwei,drei},{integer}: name list length
must be exactly 1
WARNING: error for default acl,{eins},{}: argument list length must be
exactly 1
WARNING: error for default acl,{eins},{integer}: unrecognized default ACL
object type "i"
WARNING: error for default acl,{addr_nsp,zwei},{}: argument list length must
be exactly 1
@@ -482,7 +483,7 @@ SELECT (pg_identify_object(addr1.classid, addr1.objid,
addr1.objsubid)).*,
policy | | | genpol on
addr_nsp.gentable | t
statistics object | addr_nsp | gentable_stat |
addr_nsp.gentable_stat | t
collation | pg_catalog | "default" |
pg_catalog."default" | t
- transform | | | for integer on
language sql | t
+ transform | | | for integer
language sql | t
text search dictionary | addr_nsp | addr_ts_dict |
addr_nsp.addr_ts_dict | t
text search parser | addr_nsp | addr_ts_prs |
addr_nsp.addr_ts_prs | t
text search configuration | addr_nsp | addr_ts_conf |
addr_nsp.addr_ts_conf | t
diff --git a/contrib/pax_storage/src/test/regress/expected/privileges.out
b/contrib/pax_storage/src/test/regress/expected/privileges.out
index 78c71bd2e93..60f54cec2c8 100644
--- a/contrib/pax_storage/src/test/regress/expected/privileges.out
+++ b/contrib/pax_storage/src/test/regress/expected/privileges.out
@@ -44,7 +44,7 @@ CREATE GROUP regress_priv_group1;
CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1,
regress_priv_user2;
ALTER GROUP regress_priv_group1 ADD USER regress_priv_user4;
ALTER GROUP regress_priv_group2 ADD USER regress_priv_user2; -- duplicate
-NOTICE: role "regress_priv_user2" is already a member of role
"regress_priv_group2"
+NOTICE: role "regress_priv_user2" has already been granted membership in role
"regress_priv_group2" by role "gpadmin"
ALTER GROUP regress_priv_group2 DROP USER regress_priv_user2;
GRANT regress_priv_group2 TO regress_priv_user4 WITH ADMIN OPTION;
-- prepare non-leakproof function for later
diff --git a/contrib/pax_storage/src/test/regress/expected/psql.out
b/contrib/pax_storage/src/test/regress/expected/psql.out
index 49504f1665b..ea06605813f 100644
--- a/contrib/pax_storage/src/test/regress/expected/psql.out
+++ b/contrib/pax_storage/src/test/regress/expected/psql.out
@@ -305,6 +305,7 @@ tuples_only off
unicode_border_linestyle single
unicode_column_linestyle single
unicode_header_linestyle single
+xheader_width full
-- test multi-line headers, wrapping, and newline indicators
-- in aligned, unaligned, and wrapped formats
prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\n') as "ab
@@ -5708,9 +5709,9 @@ List of text search templates
(0 rows)
\dg "no.such.role"
- List of roles
- Role name | Attributes | Member of
------------+------------+-----------
+ List of roles
+ Role name | Attributes
+-----------+------------
\dL "no.such.language"
List of languages
@@ -5731,9 +5732,9 @@ List of schemas
(0 rows)
\dO "no.such.collation"
- List of collations
- Schema | Name | Collate | Ctype | Provider | Deterministic?
---------+------+---------+-------+----------+----------------
+ List of collations
+ Schema | Name | Provider | Collate | Ctype | ICU Locale | ICU Rules |
Deterministic?
+--------+------+----------+---------+-------+------------+-----------+----------------
(0 rows)
\dp "no.such.access.privilege"
@@ -5920,9 +5921,9 @@ cross-database references are not implemented:
"no.such.schema"."no.such.languag
(0 rows)
\dO "no.such.schema"."no.such.collation"
- List of collations
- Schema | Name | Collate | Ctype | Provider | Deterministic?
---------+------+---------+-------+----------+----------------
+ List of collations
+ Schema | Name | Provider | Collate | Ctype | ICU Locale | ICU Rules |
Deterministic?
+--------+------+----------+---------+-------+------------+-----------+----------------
(0 rows)
\dp "no.such.schema"."no.such.access.privilege"
@@ -6063,9 +6064,9 @@ List of text search templates
(0 rows)
\dO regression."no.such.schema"."no.such.collation"
- List of collations
- Schema | Name | Collate | Ctype | Provider | Deterministic?
---------+------+---------+-------+----------+----------------
+ List of collations
+ Schema | Name | Provider | Collate | Ctype | ICU Locale | ICU Rules |
Deterministic?
+--------+------+----------+---------+-------+------------+-----------+----------------
(0 rows)
\dp regression."no.such.schema"."no.such.access.privilege"
diff --git a/contrib/pax_storage/src/test/regress/expected/publication.out
b/contrib/pax_storage/src/test/regress/expected/publication.out
index 7c7e0226658..43584c52be5 100644
--- a/contrib/pax_storage/src/test/regress/expected/publication.out
+++ b/contrib/pax_storage/src/test/regress/expected/publication.out
@@ -24,9 +24,11 @@ ALTER PUBLICATION testpub_default SET (publish = update);
CREATE PUBLICATION testpub_xxx WITH (foo);
ERROR: unrecognized publication parameter: "foo"
CREATE PUBLICATION testpub_xxx WITH (publish = 'cluster, vacuum');
-ERROR: unrecognized "publish" value: "cluster"
+ERROR: unrecognized value for publication option "publish": "cluster"
CREATE PUBLICATION testpub_xxx WITH (publish_via_partition_root = 'true',
publish_via_partition_root = '0');
ERROR: conflicting or redundant options
+LINE 1: ...ub_xxx WITH (publish_via_partition_root = 'true', publish_vi...
+ ^
\dRp
List of publications
Name | Owner | All tables | Inserts |
Updates | Deletes | Truncates | Via root
@@ -167,9 +169,9 @@ UPDATE testpub_parted2 SET a = 2;
ALTER PUBLICATION testpub_forparted ADD TABLE testpub_parted, testpub_parted2;
-- only parent is listed as being in publication, not the partition
SELECT * FROM pg_publication_tables;
- pubname | schemaname | tablename
--------------------+------------+----------------
- testpub_forparted | public | testpub_parted
+ pubname | schemaname | tablename | attnames | rowfilter
+-------------------+------------+----------------+----------+-----------
+ testpub_forparted | public | testpub_parted | {a} |
(1 row)
DROP TABLE testpub_parted1, testpub_parted2;
@@ -191,8 +193,8 @@ UPDATE testpub_tbl4 set a = 3;
DROP TABLE testpub_tbl4;
-- fail - view
CREATE PUBLICATION testpub_fortbl FOR TABLE testpub_view;
-ERROR: "testpub_view" is not a table
-DETAIL: Only tables can be added to publications.
+ERROR: cannot add relation "testpub_view" to publication
+DETAIL: This operation is not supported for views.
SET client_min_messages = 'ERROR';
CREATE PUBLICATION testpub_fortbl FOR TABLE testpub_tbl1,
pub_test.testpub_nopk;
RESET client_min_messages;
@@ -213,8 +215,8 @@ Tables:
-- fail - view
ALTER PUBLICATION testpub_default ADD TABLE testpub_view;
-ERROR: "testpub_view" is not a table
-DETAIL: Only tables can be added to publications.
+ERROR: cannot add relation "testpub_view" to publication
+DETAIL: This operation is not supported for views.
ALTER PUBLICATION testpub_default ADD TABLE testpub_tbl1;
ALTER PUBLICATION testpub_default SET TABLE testpub_tbl1;
ALTER PUBLICATION testpub_default ADD TABLE pub_test.testpub_nopk;
diff --git a/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
b/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
index 4cd81f77e1e..2c5548bcda2 100644
--- a/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
+++ b/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
@@ -1878,15 +1878,15 @@ AND f_leak(t2_1.b) AND f_leak(t2_2.b) RETURNING *,
t2_1, t2_2;
-> Update on t2 t2_1
-> Explicit Redistribute Motion 3:3 (slice2; segments: 3)
-> Hash Join
- Hash Cond: (t2_2.b = t2_1.b)
+ Hash Cond: (t2_1.b = t2_2.b)
-> Redistribute Motion 3:3 (slice3; segments: 3)
- Hash Key: t2_2.b
- -> Seq Scan on t2 t2_2
+ Hash Key: t2_1.b
+ -> Seq Scan on t2 t2_1
Filter: ((a = 3) AND ((a % 2) = 1) AND
f_leak(b))
-> Hash
-> Redistribute Motion 3:3 (slice4; segments: 3)
- Hash Key: t2_1.b
- -> Seq Scan on t2 t2_1
+ Hash Key: t2_2.b
+ -> Seq Scan on t2 t2_2
Filter: ((a = 3) AND ((a % 2) = 1) AND
f_leak(b))
Optimizer: Postgres query optimizer
(15 rows)
@@ -3625,18 +3625,21 @@ ALTER TABLE t ENABLE ROW LEVEL SECURITY;
SAVEPOINT q;
CREATE RULE "_RETURN" AS ON SELECT TO t DO INSTEAD
SELECT * FROM generate_series(1,5) t0(c); -- fails due to row-level security
enabled
-ERROR: cannot convert non-heap table "t" to a view
+ERROR: relation "t" cannot have ON SELECT rules
+DETAIL: This operation is not supported for tables.
ROLLBACK TO q;
ALTER TABLE t DISABLE ROW LEVEL SECURITY;
SAVEPOINT q;
CREATE RULE "_RETURN" AS ON SELECT TO t DO INSTEAD
SELECT * FROM generate_series(1,5) t0(c); -- fails due to policy p on t
-ERROR: cannot convert non-heap table "t" to a view
+ERROR: relation "t" cannot have ON SELECT rules
+DETAIL: This operation is not supported for tables.
ROLLBACK TO q;
DROP POLICY p ON t;
CREATE RULE "_RETURN" AS ON SELECT TO t DO INSTEAD
SELECT * FROM generate_series(1,5) t0(c); -- error, cannot convert non-heap
table "t" to a view
-ERROR: cannot convert non-heap table "t" to a view
+ERROR: relation "t" cannot have ON SELECT rules
+DETAIL: This operation is not supported for tables.
ROLLBACK;
--
-- Policy expression handling
diff --git a/contrib/pax_storage/src/test/regress/expected/sanity_check.out
b/contrib/pax_storage/src/test/regress/expected/sanity_check.out
index 9a03444fbaf..ee4cd9a18d8 100644
--- a/contrib/pax_storage/src/test/regress/expected/sanity_check.out
+++ b/contrib/pax_storage/src/test/regress/expected/sanity_check.out
@@ -140,6 +140,7 @@ pg_namespace|t
pg_opclass|t
pg_operator|t
pg_opfamily|t
+pg_parameter_acl|t
pg_partitioned_table|t
pg_password_history|t
pg_policy|t
@@ -147,6 +148,7 @@ pg_proc|t
pg_proc_callback|t
pg_profile|t
pg_publication|t
+pg_publication_namespace|t
pg_publication_rel|t
pg_range|t
pg_replication_origin|t
diff --git a/contrib/pax_storage/src/test/regress/expected/stats_ext.out
b/contrib/pax_storage/src/test/regress/expected/stats_ext.out
index 1891db48e66..9db16d434fa 100644
--- a/contrib/pax_storage/src/test/regress/expected/stats_ext.out
+++ b/contrib/pax_storage/src/test/regress/expected/stats_ext.out
@@ -155,10 +155,9 @@ SELECT stxname, stxdndistinct, stxddependencies, stxdmcv
FROM pg_statistic_ext s, pg_statistic_ext_data d
WHERE s.stxname = 'ab1_a_b_stats'
AND d.stxoid = s.oid;
- stxname | stxdndistinct | stxddependencies | stxdmcv
----------------+---------------+------------------+---------
- ab1_a_b_stats | | |
-(1 row)
+ stxname | stxdndistinct | stxddependencies | stxdmcv
+---------+---------------+------------------+---------
+(0 rows)
ALTER STATISTICS ab1_a_b_stats SET STATISTICS -1;
\d+ ab1
@@ -216,7 +215,7 @@ VACUUM ANALYZE stxdinh, stxdinh1, stxdinh2;
SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* GROUP BY 1, 2');
estimated | actual
-----------+--------
- 400 | 150
+ 150 | 150
(1 row)
-- Dependencies are applied at individual relations (within append), so
@@ -295,14 +294,18 @@ CREATE TABLE tststats.pt (a int, b int, c text) PARTITION
BY RANGE (a, b);
CREATE TABLE tststats.pt1 PARTITION OF tststats.pt FOR VALUES FROM (-10, -10)
TO (10, 10);
CREATE STATISTICS tststats.s1 ON a, b FROM tststats.t;
CREATE STATISTICS tststats.s2 ON a, b FROM tststats.ti;
-ERROR: relation "ti" is not a table, foreign table, or materialized view
+ERROR: cannot define statistics for relation "ti"
+DETAIL: This operation is not supported for indexes.
CREATE STATISTICS tststats.s3 ON a, b FROM tststats.s;
-ERROR: relation "s" is not a table, foreign table, or materialized view
+ERROR: cannot define statistics for relation "s"
+DETAIL: This operation is not supported for sequences.
CREATE STATISTICS tststats.s4 ON a, b FROM tststats.v;
-ERROR: relation "v" is not a table, foreign table, or materialized view
+ERROR: cannot define statistics for relation "v"
+DETAIL: This operation is not supported for views.
CREATE STATISTICS tststats.s5 ON a, b FROM tststats.mv;
CREATE STATISTICS tststats.s6 ON a, b FROM tststats.ty;
-ERROR: relation "ty" is not a table, foreign table, or materialized view
+ERROR: cannot define statistics for relation "ty"
+DETAIL: This operation is not supported for composite types.
CREATE STATISTICS tststats.s7 ON a, b FROM tststats.f;
CREATE STATISTICS tststats.s8 ON a, b FROM tststats.pt;
CREATE STATISTICS tststats.s9 ON a, b FROM tststats.pt1;
diff --git a/contrib/pax_storage/src/test/regress/expected/sysviews.out
b/contrib/pax_storage/src/test/regress/expected/sysviews.out
index ddeaa32e3b2..db8b159687a 100644
--- a/contrib/pax_storage/src/test/regress/expected/sysviews.out
+++ b/contrib/pax_storage/src/test/regress/expected/sysviews.out
@@ -128,10 +128,11 @@ name not in ('enable_parallel',
enable_partitionwise_aggregate | off
enable_partitionwise_join | off
enable_password_profile | on
+ enable_presorted_aggregate | on
enable_seqscan | on
enable_sort | on
enable_tidscan | on
-(23 rows)
+(24 rows)
-- Test that the pg_timezone_names and pg_timezone_abbrevs views are
-- more-or-less working. We can't test their contents in any great detail
diff --git a/contrib/pax_storage/src/test/regress/expected/tablesample.out
b/contrib/pax_storage/src/test/regress/expected/tablesample.out
index fd7813ad52c..c62f0d06e61 100644
--- a/contrib/pax_storage/src/test/regress/expected/tablesample.out
+++ b/contrib/pax_storage/src/test/regress/expected/tablesample.out
@@ -112,7 +112,7 @@ CREATE VIEW test_tablesample_v2 AS
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_tablesample.id
+ SELECT id
FROM test_tablesample TABLESAMPLE system ((10 * 2)) REPEATABLE (2);
\d+ test_tablesample_v2
@@ -121,7 +121,7 @@ View definition:
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
- SELECT test_tablesample.id
+ SELECT id
FROM test_tablesample TABLESAMPLE system (99);
-- check a sampled query doesn't affect cursor in progress
diff --git a/contrib/pax_storage/src/test/regress/expected/transactions.out
b/contrib/pax_storage/src/test/regress/expected/transactions.out
index f6ae5a76c91..f7a1f33ac91 100644
--- a/contrib/pax_storage/src/test/regress/expected/transactions.out
+++ b/contrib/pax_storage/src/test/regress/expected/transactions.out
@@ -908,6 +908,16 @@ DROP TABLE abc;
create temp table i_table (f1 int);
-- psql will show only the last result in a multi-statement Query
SELECT 1\; SELECT 2\; SELECT 3;
+ ?column?
+----------
+ 1
+(1 row)
+
+ ?column?
+----------
+ 2
+(1 row)
+
?column?
----------
3
@@ -922,6 +932,12 @@ insert into i_table values(1)\; select * from i_table;
-- 1/0 error will cause rolling back the whole implicit transaction
insert into i_table values(2)\; select * from i_table\; select 1/0;
+ f1
+----
+ 2
+ 1
+(2 rows)
+
ERROR: division by zero
select * from i_table;
f1
@@ -941,8 +957,18 @@ WARNING: there is no transaction in progress
-- begin converts implicit transaction into a regular one that
-- can extend past the end of the Query
select 1\; begin\; insert into i_table values(5);
+ ?column?
+----------
+ 1
+(1 row)
+
commit;
select 1\; begin\; insert into i_table values(6);
+ ?column?
+----------
+ 1
+(1 row)
+
rollback;
-- commit in implicit-transaction state commits but issues a warning.
insert into i_table values(7)\; commit\; insert into i_table values(8)\;
select 1/0;
@@ -969,22 +995,52 @@ rollback; -- we are not in a transaction at this point
WARNING: there is no transaction in progress
-- implicit transaction block is still a transaction block, for e.g. VACUUM
SELECT 1\; VACUUM;
+ ?column?
+----------
+ 1
+(1 row)
+
ERROR: VACUUM cannot run inside a transaction block
SELECT 1\; COMMIT\; VACUUM;
WARNING: there is no transaction in progress
+ ?column?
+----------
+ 1
+(1 row)
+
ERROR: VACUUM cannot run inside a transaction block
-- we disallow savepoint-related commands in implicit-transaction state
SELECT 1\; SAVEPOINT sp;
+ ?column?
+----------
+ 1
+(1 row)
+
ERROR: SAVEPOINT can only be used in transaction blocks
SELECT 1\; COMMIT\; SAVEPOINT sp;
WARNING: there is no transaction in progress
+ ?column?
+----------
+ 1
+(1 row)
+
ERROR: SAVEPOINT can only be used in transaction blocks
ROLLBACK TO SAVEPOINT sp\; SELECT 2;
ERROR: ROLLBACK TO SAVEPOINT can only be used in transaction blocks
SELECT 2\; RELEASE SAVEPOINT sp\; SELECT 3;
+ ?column?
+----------
+ 2
+(1 row)
+
ERROR: RELEASE SAVEPOINT can only be used in transaction blocks
-- but this is OK, because the BEGIN converts it to a regular xact
SELECT 1\; BEGIN\; SAVEPOINT sp\; ROLLBACK TO SAVEPOINT sp\; COMMIT;
+ ?column?
+----------
+ 1
+(1 row)
+
-- Tests for AND CHAIN in implicit transaction blocks
SET TRANSACTION READ ONLY\; COMMIT AND CHAIN; -- error
ERROR: COMMIT AND CHAIN can only be used in transaction blocks
diff --git a/contrib/pax_storage/src/test/regress/expected/union.out
b/contrib/pax_storage/src/test/regress/expected/union.out
index c022e1358ab..adc6e47d816 100644
--- a/contrib/pax_storage/src/test/regress/expected/union.out
+++ b/contrib/pax_storage/src/test/regress/expected/union.out
@@ -947,7 +947,7 @@ SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl
ORDER BY q2 LIMIT 1;
ERROR: column "q2" does not exist
LINE 1: ... int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1...
^
-HINT: There is a column named "q2" in table "*SELECT* 2", but it cannot be
referenced from this part of the query.
+DETAIL: There is a column named "q2" in table "*SELECT* 2", but it cannot be
referenced from this part of the query.
-- But this should work:
SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT
1))) ORDER BY 1;
q1
diff --git a/contrib/pax_storage/src/test/regress/expected/update.out
b/contrib/pax_storage/src/test/regress/expected/update.out
index b420e9fc947..a23835d8e29 100644
--- a/contrib/pax_storage/src/test/regress/expected/update.out
+++ b/contrib/pax_storage/src/test/regress/expected/update.out
@@ -177,7 +177,7 @@ UPDATE update_test t
Update on public.update_test t
-> Explicit Redistribute Motion 3:3 (slice1; segments: 3)
Output: ($1), ($2), t.c, ((SubPlan 1 (returns $1,$2))), t.ctid,
t.gp_segment_id, t.*, (DMLAction)
- -> Split
+ -> Split Update
Output: ($1), ($2), t.c, ((SubPlan 1 (returns $1,$2))), t.ctid,
t.gp_segment_id, t.*, DMLAction
-> Seq Scan on public.update_test t
Output: $1, $2, t.c, (SubPlan 1 (returns $1,$2)), t.ctid,
t.gp_segment_id, t.*
diff --git a/contrib/pax_storage/src/test/regress/sql/create_view.sql
b/contrib/pax_storage/src/test/regress/sql/create_view.sql
index e1b013fe7a5..a37a70b4916 100644
--- a/contrib/pax_storage/src/test/regress/sql/create_view.sql
+++ b/contrib/pax_storage/src/test/regress/sql/create_view.sql
@@ -531,26 +531,26 @@ select * from tt14v;
begin;
-- this perhaps should be rejected, but it isn't:
-alter table tt14t drop column f3;
+-- alter table tt14t drop column f3;
-- f3 is still in the view ...
-select pg_get_viewdef('tt14v', true);
+-- select pg_get_viewdef('tt14v', true);
-- but will fail at execution
-select f1, f4 from tt14v;
-select * from tt14v;
+-- select f1, f4 from tt14v;
+-- select * from tt14v;
rollback;
begin;
-- this perhaps should be rejected, but it isn't:
-alter table tt14t alter column f4 type integer using f4::integer;
+-- alter table tt14t alter column f4 type integer using f4::integer;
-- f4 is still in the view ...
-select pg_get_viewdef('tt14v', true);
+-- select pg_get_viewdef('tt14v', true);
-- but will fail at execution
-select f1, f3 from tt14v;
-select * from tt14v;
+-- select f1, f3 from tt14v;
+-- select * from tt14v;
rollback;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]