The whole IsProjectionFunctionalIndex looks kinda bogus/ugly to me. Set
the boolean to false, but keep evaluating anyway? But then, I thought
the idea was to do this based on the reloption, not by comparing the
expression cost to a magical (unmodifiable) value?
In RelationGetIndexAttrBitmap(), indexattrs no longer gets the columns
corresponding to projection indexes. Isn't that weird/error
prone/confusing? I think it'd be saner to add these bits to both
bitmaps.
Please update the comments ending in heapam.c:4188, and generally all
comments that you should update.
Please keep serial_schedule in sync with parallel_schedule.
Also, pgindent.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services