Decides the location table is opt-in (ADR-0002 Amendment) - #139
Merged
Merged
Conversation
Adds a second Amendment at proposed to ADR-0002: V04, the BasicHTTP location table, stays outside the version walk that from: and version: span, so up/1 and down/1 answer as before for every database. A host that sets :basichttp runs Migrations.up_locations/1 and down_locations/1 in a later migration of its own; their options, refusals, tolerance and rollback order are decided here. Amends the earlier Amendment's migration sentences in part. Refs: sr-xgi8
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.
Adds a second Amendment at
proposedto ADR-0002 (addressing): "Amendment (2026-09-30, sr-xgi8): the location table is opt-in, outside the version walk". It decides how a host runs V04, the BasicHTTP location table, which the earlier Amendment of 2026-09-30 created without saying how a host runs it. This repo's rule is that the record lands before the code, so this PR carries the record alone. The code PR (138) is rebased onto it afterwards and cites it.What it decides:
from:andversion:span, soStatifierRouter.Migrations.up/1anddown/1answer as before for every database. A host that never sets:basichttpsees no change.StatifierRouter.Migrations.up_locations/1anddown_locations/1in a later migration of its own. They take the storage options, the layout options and:primary_key.:from,:version, any other key, and a leading column named like one of the location table's own columns.up_locations/1creates only what is missing, anddown_locations/1drops the table only if it is there.Gate. This is a docs-only change under
docs/adr/. It touches no gated path (lib/,test/,config/,mix.exs,mix.lock,corpus/,README.md), so there is no local gate to run. CI runs regardless. No changelog fragment: ADRs are onchangelog.d/README.md's "do not" side.Direction check (in-turn). Each claim was checked against
mainat8600d6f:from:andversion:walk".StatifierRouter.Migrations' private@migrationsmaps versions 1 to 3.test/statifier_router/migrations_test.exsasserts thatup(version: 4)raises "unknown migration version 4".The two new functions and V04's tolerant
down/1are cited only as the pull request that implements this record, as the earlier Amendment cites its code.git diff origin/main -- docs/adr/shows zero removed lines.