Unmatched test and comment in partition_join.sql regression test
I noticed this in the regression test while polishing the PWJ-enhancement patch:
-- partitionwise join can not be applied for a join between list and range
-- partitioned tables
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c);
The test doesn't match the comment which precedes it, because both
tables are range-partitioned as shown below.
\d+ prt1_n
Partitioned table "public.prt1_n"
Column | Type | Collation | Nullable | Default | Storage
| Stats target | Description
--------+-------------------+-----------+----------+---------+----------+--------------+-------------
a | integer | | | | plain
| |
b | integer | | | | plain
| |
c | character varying | | | |
extended | |
Partition key: RANGE (c)
Partitions: prt1_n_p1 FOR VALUES FROM ('0000') TO ('0250'),
prt1_n_p2 FOR VALUES FROM ('0250') TO ('0500')
\d+ prt1
Partitioned table "public.prt1"
Column | Type | Collation | Nullable | Default | Storage
| Stats target | Description
--------+-------------------+-----------+----------+---------+----------+--------------+-------------
a | integer | | | | plain
| |
b | integer | | | | plain
| |
c | character varying | | | |
extended | |
Partition key: RANGE (a)
Partitions: prt1_p1 FOR VALUES FROM (0) TO (250),
prt1_p2 FOR VALUES FROM (250) TO (500),
prt1_p3 DEFAULT
I think the test should be moved to a more appropriate place, and the
comment should be moved to a test that really performs a join between
list and range partitioned tables. Attached is a patch for that. The
patch fixes another misplaced comment as well.
Best regards,
Etsuro Fujita
Attachments:
clean-up-partition-join-test.patchapplication/octet-stream; name=clean-up-partition-join-test.patchDownload+39-55
On Fri, Dec 13, 2019 at 7:17 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:
I noticed this in the regression test while polishing the PWJ-enhancement patch:
-- partitionwise join can not be applied for a join between list and range
-- partitioned tables
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c);The test doesn't match the comment which precedes it, because both
tables are range-partitioned as shown below.
I think the test should be moved to a more appropriate place,
On second thought I changed my mind; we would not need to move that
test, so I refrained from doing so.
Attached is a patch for that. The
patch fixes another misplaced comment as well.
I pushed an updated version of the patch.
Best regards,
Etsuro Fujita