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.
* 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"?
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company