Simon Riggs wrote:
> i.e. if we have partitions for each year (2001, 2002, 2003 2004, 2005,
> 2006, 2007) AND we have already proved that 2005 is excluded when we
> have a WHERE clause saying year >= 2006, then we should be able to use
> the ordering to prove that partitions for 2004 and before are also
> automatically excluded.
Provided you've set up the right constraints, the current
constraint_exclusion feature does exactly that, no?
> I'll think some more about the Merge node, but not right now.
I've looked at nodeAppend.c and nodeMergeJoin.c. Probably we can use
much of nodeMergeJoin, just without the join? Instead returning the
tuples as they are, but in the correct order. The nodeMergeJoin code can
only handle two inputs (a left and a right node), but it might be
beneficial to structure multiple merge nodes into a binary tree layout
anyway. (I'm guessing that might reduce the amount of comparisons needed).
What do you think?
Regards
Markus