Here is a version 2 of this patch, rebased atop 97d85be365. As before, this is a cleanup/prerequisite patch series for the page features/reserved page size patches[1]. (Said patch series is going to be updated shortly.)
This splits each of the 4 constants that care about page size into Cluster-specific and -Limit variants, the first intended to become a variable in time, and the second being the maximum value such a variable may take (largely used for static allocations). Since these patches define these symbols to have the same values they previously had, there are no changes in functionality. These were largely mechanical changes, and as such we should perhaps consider making the same changes to back-branches to make it so context lines and the like would be the same, simplifying maintainer's efforts when applying code in back branches that touch similar areas. The script I have to make these changes is simple, and could be run against the back branches with only the comments surrounding Calc() pieces needing to be adjusted once. Thanks, David [1] https://commitfest.postgresql.org/47/3986/
v2-0001-Split-MaxHeapTuplesPerPage-into-runtime-and-max-v.patch
Description: Binary data
v2-0002-Split-MaxHeapTupleSize-into-runtime-and-max-value.patch
Description: Binary data
v2-0004-Split-MaxTIDsPerBTreePage-into-runtime-and-max-va.patch
Description: Binary data
v2-0003-Split-MaxIndexTuplesPerPage-into-runtime-and-max-.patch
Description: Binary data