On 16.01.2018 10:49, Jeff Davis wrote:
My proposed fix is to make an internal opfamily identical to the
external one, such that it's not recognized as part of the same EC,
and the planner won't try to eliminate it. It loses out on potential
optimizations, but those are mostly theoretical since the btree
opclass ordering for ranges is not very interesting to a user.
I think I figured out what to do with missing sort directions. We can
change select_outer_pathkeys_for_merge() to generate the pathkeys we
need. Also, find_mergeclauses_for_outer_pathkeys() has to be changed
too, so that it knows which pathkeys are compatible to which range join
clauses.
About the patch, do I understand it right that you are working on the
next version now?
--
Alexander Kuzmenkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company