pgsql: Disallow partitionwise join when collations don't match - Mailing list pgsql-committers

From Amit Langote
Subject pgsql: Disallow partitionwise join when collations don't match
Date
Msg-id E1t9KYr-000msB-Bt@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Disallow partitionwise join when collations don't match

If the collation of any join key column doesn’t match the collation of
the corresponding partition key, partitionwise joins can yield incorrect
results. For example, rows that would match under the join key collation
might be located in different partitions due to the partitioning
collation. In such cases, a partitionwise join would yield different
results from a non-partitionwise join, so disallow it in such cases.

Reported-by: Tender Wang <tndrwang@gmail.com>
Author: Jian He <jian.universality@gmail.com>
Reviewed-by: Tender Wang <tndrwang@gmail.com>
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Discussion: https://postgr.es/m/CAHewXNno_HKiQ6PqyLYfuqDtwp7KKHZiH1J7Pqyz0nr+PS2Dwg@mail.gmail.com
Backpatch-through: 12

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f734b6b4d0cc6194cb93d74f179c8471306ea3b9

Modified Files
--------------
src/backend/optimizer/util/relnode.c           |   4 +
src/test/regress/expected/collate.icu.utf8.out | 118 +++++++++++++++++++++++++
src/test/regress/sql/collate.icu.utf8.sql      |  22 +++++
3 files changed, 144 insertions(+)


pgsql-committers by date:

Previous
From: Amit Langote
Date:
Subject: pgsql: Disallow partitionwise join when collations don't match
Next
From: Amit Langote
Date:
Subject: pgsql: Disallow partitionwise join when collations don't match