Prepares statifier_router 0.9.2 - #145
Merged
Merged
Conversation
The fragment said the Postgres-only `= ANY(...)` form failed every reap of a SQLite host. A reap that found no row to stamp or delete never reached that form: the private stamp/3 and delete/2 answered 0 for an empty list without a statement, from 0.8.0 to 0.9.1, so that reap succeeded. The fragment now says the failure was any reap that found a row to stamp or delete, and that a reap with nothing to write sent no statement. Refs: sr-ejg1
The bump and the changelog promotion, and nothing else: `mix.exs`'s `@version`, which `StatifierRouter.version/0` and the docs' `source_ref` both read; the one `changelog.d/` fragment on main (sr-1rgb, as corrected by the commit before this one) assembled into a `## [0.9.2] 2026-09-30` section under a lead paragraph, and deleted in the same commit, its bullet carried over byte for byte; and the header's `changelog.d/` link moved to `blob/v0.9.2`. The README install pin stays at `~> 0.9.0`, as a patch leaves it. A patch, because nothing grows or changes a public surface: since v0.9.1, lib/ changes only `StatifierRouter.Addresses`'s private `stamp/3` and `delete/2`, which name their rows in an IN list instead of `= ANY(...)` and write more than 500 ids in batches of 500, a new private helper `in_batches/2` and a private module attribute. `reap/3`'s signature, spec, options and result are unchanged, no module, function, option or migration version is added, and a Postgres host sees the same counts. `ecto_sqlite3` is a test-only dependency and does not ship. No tag and no publish: the merge and the tag are the conductor's, the publish the operator's. `mix hex.build` builds 0.9.2; the tar it wrote was deleted before this commit. Full `mix quality` green under the repo gate lock and a machine slot on this exact tree (write-tree bd60d3a before and after the run), held across this commit: format, compile, isolated tests, doc links, deps, docs, credo, 425 of 425 tests at 97.7% coverage, dialyzer. Refs: sr-ejg1
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.
Prepares statifier_router 0.9.2, a patch release:
StatifierRouter.Addresses.reap/3runs on SQLite.Two commits:
= ANY(...)form failed every reap of a SQLite host. A reap that found no row to stamp or delete never reached that form: the privatestamp/3anddelete/2answered 0 for an empty list without a statement at v0.8.0 and v0.9.1, so that reap succeeded. The fragment now says the failure was any reap that found a row to stamp or delete.mix.exs's@versionto 0.9.2; the one fragment (sr-1rgb) promoted into a## [0.9.2] 2026-09-30section under a lead paragraph, its bullet carried over byte for byte, and deleted; the header'schangelog.d/link moved toblob/v0.9.2/changelog.d/README.md. The README install pin stays at~> 0.9.0, as a patch leaves it. The release commit touches onlymix.exs,CHANGELOG.mdand the deleted fragment.Why a patch
git diff v0.9.1..main -- libchanges one file,lib/statifier_router/addresses.ex: the privatestamp/3anddelete/2name their rows in an IN list (fragment("? IN (?)", a.id, splice(^batch))) instead of= ANY(...), a new privatein_batches/2writes more than 500 ids as batches of 500, and a private module attribute holds that size.reap/3's signature, spec, options and result are unchanged; no module, function, option or migration version is added; a Postgres host sees the same counts.ecto_sqlite3is a test-only dependency and does not ship. The one fragment is underFixed.Verification
Full
mix qualitygreen under the repo gate lock and a machine slot, on the exact tree of the release commit, held across the commit: format, compile, isolated tests, doc links, deps, docs, credo, 425 of 425 tests at 97.7% coverage, dialyzer.mix hex.buildbuilds 0.9.2 (the tar was deleted).No tag and no publish here: the merge and the annotated
v0.9.2tag at the merge commit follow on green;mix hex.publishis the operator's.