Refresh the version-adoption document, and rename it out of two majors (#390) - #411
Open
ChronicallyJD wants to merge 1 commit into
Open
Refresh the version-adoption document, and rename it out of two majors (#390)#411ChronicallyJD wants to merge 1 commit into
ChronicallyJD wants to merge 1 commit into
Conversation
Renamed PG18_19_OPPORTUNITIES.md to POSTGRESQL_VERSION_ADOPTION.md. The old name pinned the file to two majors and was already wrong in the filename, which is the least fixable place to be wrong. Every reference to the old name is updated, in ROADMAP.md, gaps/29-read-stream-aio.md and generated_columns.sh. A status table at the top, dated, saying what became of each item rather than only that it closed. Three of them now have measurements behind them: 7. partial-path startup costs (19) measured, changes no plan of ours (commandprompt#397) 8. parallel autovacuum (19) measured, parameter accepted and ignored (commandprompt#398) 5. REPACK investigated, and the conclusion was wrong (commandprompt#399) Item 5 is corrected in place rather than deleted, because how it went wrong is the useful part. It reasoned that REPACK dispatches through relation_copy_for_cluster and that pgColumnar implements that callback. The dispatch was right. The callback is registered and is a stub that raises, so the claim was true of the symbol and false of the behaviour. That is why the file now records what was measured and carries dates. Eight items from the 19 release notes that the document never mentioned, including the one that would have broken us: get_relation_info_hook is removed in 19 and replaced by build_simple_rel_hook. We already gate it, and the gate is now recorded with its file and line, because nothing else explains why the #if is there. A watching section for PostgreSQL 20 with no feature list, deliberately. 19 is not released, master has had one commitfest, freeze is around April 2027, and anything in it can be reverted. The one thing worth watching is whether the static IndexAmRoutines change grows a TableAmRoutine counterpart, which would touch our handler. The suggested order is revised: nothing from 19 is urgent, since both items measured this week came back negative for us.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #390. Sequenced after #397, #398 and #399 reported, as I said on the issue, because
two of those three changed what the document should say.
Renamed
PG18_19_OPPORTUNITIES.mdtoPOSTGRESQL_VERSION_ADOPTION.md. The old name pinned thefile to two majors and was already wrong in the filename, which is the least fixable place
to be wrong.
A rename leaves dangling links, so every reference is updated:
design/ROADMAP.md(three),design/gaps/29-read-stream-aio.md(two),test/generated_columns.sh(one). Grep for theold name returns nothing but the sentence recording the rename.
Status table, dated, saying what became of each item
Three items now have measurements rather than expectations behind them:
Item 5 is corrected in place, not deleted
How it went wrong is the useful part, and it is the reason the rest of the file changed
shape.
It reasoned that
REPACKdispatches throughrelation_copy_for_cluster, and thatpgColumnar implements that callback, therefore
REPACK"should work". The dispatchreasoning was correct. The callback is registered and is a stub that raises, so the
claim was true of the symbol and false of the behaviour.
That is why the file now records what was measured and carries dates on every status
note. A note without a date has not been checked, and the file says so.
Eight items from the 19 notes it never mentioned
Including the one that would have broken the build:
get_relation_info_hookis removedin 19 and replaced by
build_simple_rel_hook. We already gate it. The gate is nowrecorded with its file and line, because nothing else explains why the
#if PG_VERSION_NUM >= 190000is there, and the next person to tidy it up should know.A watching section for 20, with no feature list
Deliberate. PostgreSQL 19 is not released, master has had one commitfest, freeze is around
April 2027, and anything in it can be reverted. A list would be invention that someone
reads as a commitment.
One thing is worth watching: 19 made index AM handlers use a static
IndexAmRoutines. ATableAmRoutinecounterpart would touch our handler directly.The revised order
Nothing from 19 is urgent. Both items measured this week came back negative for us, and
#398 is the only one with a user-visible defect attached.
Design docs and one comment in a test. No user-facing documents changed,
ste_checkclean.