]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Test, don't just Assert, that mergejoin's inputs are in order.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 5 Feb 2022 16:59:30 +0000 (11:59 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 5 Feb 2022 16:59:30 +0000 (11:59 -0500)
commit9c7cf083f26e183e200395b3514061bb9d71cc7e
tree06d9c5ef1d8ca8248d2ace638e2e055234cbfd32
parent58e9d28091e76bfd4a2670bc9ca8ba44d958e57d
Test, don't just Assert, that mergejoin's inputs are in order.

There are two Asserts in nodeMergejoin.c that are reachable if
the input data is not in the expected order.  This seems way too
fragile.  Alexander Lakhin reported a case where the assertions
could be triggered with misconfigured foreign-table partitions,
and bitter experience with unstable operating system collation
definitions suggests another easy route to hitting them.  Neither
Assert is in a place where we can't afford one more test-and-branch,
so replace 'em with plain test-and-elog logic.

Per bug #17395.  While the reported symptom is relatively recent,
collation changes could happen anytime, so back-patch to all
supported branches.

Discussion: https://postgr.es/m/17395-8c326292078d1a57@postgresql.org
src/backend/executor/nodeMergejoin.c