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/[email protected] Branch ------ REL_10_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/dcfaa7c67e7b5fef0446a63d38dc66ef9035ef5f Modified Files -------------- src/backend/executor/nodeMergejoin.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
