I noticed that a comment in get_partition_dispatch_recurse claims that:
"it contains the
* leaf partition's position in the global list *leaf_part_oids minus 1"
The "minus 1" part is incorrect. It simply just stores the 0-based
index of the item in the list. I was going to fix it by removing just
that part, but instead, I ended up rewriting the whole thing.
Patch attached.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services