Re: ERROR: left and right pathkeys do not match in mergejoin

Alexander Kuzmenkov <a.kuzmenkov@postgrespro.ru>

From: Alexander Kuzmenkov <a.kuzmenkov@postgrespro.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-02-23T11:16:30Z
Lists: pgsql-hackers
Ah, I understand now. We can lie to the executor about the order, 
because when we are moving based on the second outer column, we have a 
stretch of equal values in the inner column, so we can consider them to 
be sorted whatever way we need.

The patch applies cleanly, make check-world passes.

In create_mergejoin_plan:
     * implied inner ordering is then "ORDER BY x, y, x", but the pathkey
     * drops the second sort by x as redundant, and this code must cope.
-- should this read "the pathkey machinery drops"?

-- 
Alexander Kuzmenkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



Commits

  1. Fix planner failures with overlapping mergejoin clauses in an outer join.