]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Disallow partitionwise join when collations don't match
authorAmit Langote <amitlan@postgresql.org>
Fri, 8 Nov 2024 07:30:33 +0000 (16:30 +0900)
committerAmit Langote <amitlan@postgresql.org>
Fri, 8 Nov 2024 08:18:38 +0000 (17:18 +0900)
commit62df5484f976b76c95cbb00ae797e90de1b81f99
tree2945037d53a609dac3df04fa5c05a78580830a2a
parent96f9b29a3e1ea3dd58e728814bf630d40ff77caa
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
src/backend/optimizer/util/relnode.c
src/test/regress/expected/collate.icu.utf8.out
src/test/regress/sql/collate.icu.utf8.sql