diff --git a/src/test/regress/expected/gp_dqa.out b/src/test/regress/expected/gp_dqa.out index 91b38ae9651..9090a1547a8 100644 --- a/src/test/regress/expected/gp_dqa.out +++ b/src/test/regress/expected/gp_dqa.out @@ -2247,11 +2247,11 @@ explain (verbose, costs off) select count(distinct (b)::text) as b, count(distin QUERY PLAN ----------------------------------------------------------------------------------------------------------- Finalize Aggregate - Output: count(DISTINCT ((b)::text)), count(DISTINCT (a)::character varying) + Output: count(DISTINCT ((b)::text)), count(DISTINCT a) -> Gather Motion 3:1 (slice1; segments: 3) - Output: (PARTIAL count(DISTINCT ((b)::text))), (PARTIAL count(DISTINCT (a)::character varying)) + Output: (PARTIAL count(DISTINCT ((b)::text))), (PARTIAL count(DISTINCT a)) -> Partial Aggregate - Output: PARTIAL count(DISTINCT ((b)::text)), PARTIAL count(DISTINCT (a)::character varying) + Output: PARTIAL count(DISTINCT ((b)::text)), PARTIAL count(DISTINCT a) -> Redistribute Motion 3:3 (slice2; segments: 3) Output: b, a, ((b)::text), (AggExprId) Hash Key: ((b)::text), a, (AggExprId) diff --git a/src/test/regress/expected/gp_dqa_optimizer.out b/src/test/regress/expected/gp_dqa_optimizer.out index 73f7dfb1b89..3f1c7f540e5 100644 --- a/src/test/regress/expected/gp_dqa_optimizer.out +++ b/src/test/regress/expected/gp_dqa_optimizer.out @@ -2383,14 +2383,14 @@ DETAIL: Feature not supported: Multiple Distinct Qualified Aggregates are disab explain (verbose, costs off) select count(distinct (b)::text) as b, count(distinct (a)::text::varchar) as a from dqa_f3; INFO: GPORCA failed to produce a plan, falling back to planner DETAIL: Feature not supported: Multiple Distinct Qualified Aggregates are disabled in the optimizer - QUERY PLAN -------------------------------------------------------------------------------------------------------------- + QUERY PLAN +----------------------------------------------------------------------------------------------------------- Finalize Aggregate - Output: count(DISTINCT ((b)::text)), count(DISTINCT (a)::character varying) + Output: count(DISTINCT ((b)::text)), count(DISTINCT a) -> Gather Motion 3:1 (slice1; segments: 3) - Output: (PARTIAL count(DISTINCT ((b)::text))), (PARTIAL count(DISTINCT (a)::character varying)) + Output: (PARTIAL count(DISTINCT ((b)::text))), (PARTIAL count(DISTINCT a)) -> Partial Aggregate - Output: PARTIAL count(DISTINCT ((b)::text)), PARTIAL count(DISTINCT (a)::character varying) + Output: PARTIAL count(DISTINCT ((b)::text)), PARTIAL count(DISTINCT a) -> Redistribute Motion 3:3 (slice2; segments: 3) Output: b, a, ((b)::text), (AggExprId) Hash Key: ((b)::text), a, (AggExprId) diff --git a/src/test/regress/expected/psql_gp_commands.out b/src/test/regress/expected/psql_gp_commands.out index f0724bd5625..10755c56fc6 100644 --- a/src/test/regress/expected/psql_gp_commands.out +++ b/src/test/regress/expected/psql_gp_commands.out @@ -169,16 +169,16 @@ ALTER TABLE "d_bogus_heap" OWNER TO test_psql_de_role; (7 rows) \d+ - List of relations - Schema | Name | Type | Owner | Storage | Size | Description -------------------+-------------------+---------------+-------------------+-----------+---------+------------- - test_psql_schema | dE_external_table | foreign table | test_psql_de_role | | 0 bytes | - test_psql_schema | dE_foreign_table | foreign table | test_psql_de_role | | 0 bytes | - test_psql_schema | d_ao | table | test_psql_de_role | ao_row | 128 kB | - test_psql_schema | d_aocs | table | test_psql_de_role | ao_column | 128 kB | - test_psql_schema | d_bogus_heap | table | test_psql_de_role | bogus | 0 bytes | - test_psql_schema | d_heap | table | test_psql_de_role | heap | 0 bytes | - test_psql_schema | d_view | view | test_psql_de_role | | 0 bytes | + List of relations + Schema | Name | Type | Owner | Storage | Persistence | Size | Description +------------------+-------------------+---------------+-------------------+-----------+-------------+---------+------------- + test_psql_schema | dE_external_table | foreign table | test_psql_de_role | | permanent | 0 bytes | + test_psql_schema | dE_foreign_table | foreign table | test_psql_de_role | | permanent | 0 bytes | + test_psql_schema | d_ao | table | test_psql_de_role | ao_row | permanent | 128 kB | + test_psql_schema | d_aocs | table | test_psql_de_role | ao_column | permanent | 128 kB | + test_psql_schema | d_bogus_heap | table | test_psql_de_role | bogus | permanent | 0 bytes | + test_psql_schema | d_heap | table | test_psql_de_role | heap | permanent | 0 bytes | + test_psql_schema | d_view | view | test_psql_de_role | | permanent | 0 bytes | (7 rows) -- The Storage column is not interesting for indexes, so it's omitted with diff --git a/src/test/regress/expected/tidscan_optimizer.out b/src/test/regress/expected/tidscan_optimizer.out index ed4ae3e5281..79b4abdb568 100644 --- a/src/test/regress/expected/tidscan_optimizer.out +++ b/src/test/regress/expected/tidscan_optimizer.out @@ -145,21 +145,18 @@ SET enable_hashjoin TO off; -- otherwise hash join might win EXPLAIN (COSTS OFF) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; - QUERY PLAN ------------------------------------------------------------------- + QUERY PLAN +--------------------------------------------------------------- Gather Motion 3:1 (slice1; segments: 3) -> Hash Join Hash Cond: (tidscan.ctid = tidscan_1.ctid) - -> Redistribute Motion 3:3 (slice2; segments: 3) - Hash Key: tidscan.ctid - -> Seq Scan on tidscan - Filter: (id = 1) + -> Seq Scan on tidscan -> Hash - -> Redistribute Motion 3:3 (slice3; segments: 3) - Hash Key: tidscan_1.ctid + -> Broadcast Motion 3:3 (slice2; segments: 3) -> Seq Scan on tidscan tidscan_1 + Filter: (id = 1) Optimizer: Pivotal Optimizer (GPORCA) -(12 rows) +(9 rows) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; @@ -171,21 +168,18 @@ FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; EXPLAIN (COSTS OFF) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; - QUERY PLAN ------------------------------------------------------------------- - Gather Motion 3:1 (slice1; segments: 3) - -> Hash Left Join - Hash Cond: (tidscan.ctid = tidscan_1.ctid) - -> Redistribute Motion 3:3 (slice2; segments: 3) - Hash Key: tidscan.ctid - -> Seq Scan on tidscan + QUERY PLAN +------------------------------------------------------ + Hash Right Join + Hash Cond: (tidscan.ctid = tidscan_1.ctid) + -> Gather Motion 3:1 (slice1; segments: 3) + -> Seq Scan on tidscan + -> Hash + -> Gather Motion 3:1 (slice2; segments: 3) + -> Seq Scan on tidscan tidscan_1 Filter: (id = 1) - -> Hash - -> Redistribute Motion 3:3 (slice3; segments: 3) - Hash Key: tidscan_1.ctid - -> Seq Scan on tidscan tidscan_1 Optimizer: Pivotal Optimizer (GPORCA) -(12 rows) +(9 rows) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1;