0002: patch that makes all the changes needed in the planer (adds a stub function in partition.c)
0003: patch that implements the aforementioned stub (significant amount of code to analyze partition clauses and gin up bounding keys to compare with the values in PartitionBoundInfo; the actual function that will do the comparison is just a stub as of this patch)
0004: make some preparatory changes to partition_bound_cmp/bsearch, to be able to pass incomplete partition keys (aka, prefix of a multi- column key) for comparison with the values in PartitionBoundInfo (just a refactoring patch)
0005: implements the stub mentioned in 0003 and finally gets the new partition-pruning working (also disables constraint exclusion using internal partition constraints by teaching get_relation_constraints to not include those).
Feedback greatly welcome.
Hi Amit,
I have tried to apply attached patch. patch applied cleanly on commit id - bf54c0f05c0a58db17627724a83e1b6d4ec2712c
but make failed with below error.
./../../../src/include/nodes/relation.h:2126: error: redefinition of typedef ‘AppendRelInfo’ ../../../../src/include/nodes/relation.h:584: note: previous declaration of ‘AppendRelInfo’ was here make[4]: *** [gistbuild.o] Error 1