From e01fccf339ed07328df6f321952dbeec4836b3a1 Mon Sep 17 00:00:00 2001 From: Ilja Heitlager Date: Sun, 30 Aug 2026 13:42:49 +0200 Subject: [PATCH] chore: fold #663 back into 0.18.9, revert premature 0.18.10 bump MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.18.9 wasn't tagged yet when #663 merged, so there's no reason to cut 0.18.10 for it — folds its changelog entry back into 0.18.9 alongside #660/#661 and reverts the version bump. --- CHANGELOG.md | 24 ++++++++++-------------- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 2 +- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94fb35a..17268b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,20 +4,6 @@ All notable changes to sqlite-rs. Format follows [Keep a Changelog](https://keep **Versioning policy:** one minor version per completed plan phase — the version number tells the plan's story, sub-steps stay inside a phase. V1 (READ CORE) = 0.1.0 through 0.4.0. *(History note: internal iterations briefly numbered 0.4.0–0.6.0 were renumbered into the phase scheme on 14 Aug 2026, before any tag or publication of those versions existed.)* -## [0.18.10] - 2026-08-30 - -### Fixed - -- INSERT and UPDATE codegen re-`SeekRowid`'d back onto the row they had - just written, then re-read every index column via `Opcode::Column`/ - `Opcode::Rowid` to build `IdxInsert` keys — even though those same - values were still sitting in `col_regs`/`rowid_reg` from just before - the write. `emit_index_key_ops_from_regs` builds the key via - `Opcode::Copy` from those registers instead, dropping the seek and - re-read on every indexed INSERT/UPDATE. `IdxDelete` paths (removing a - *different*, already-on-disk row's stale entries) are unaffected — - they have no such register run to reuse (#663). - ## [0.18.9] - 2026-08-30 ### Fixed @@ -40,6 +26,16 @@ All notable changes to sqlite-rs. Format follows [Keep a Changelog](https://keep decode-from-blob behavior. Measured ~3.5-4% faster on `group_by_agg` (#660). +- INSERT and UPDATE codegen re-`SeekRowid`'d back onto the row they had + just written, then re-read every index column via `Opcode::Column`/ + `Opcode::Rowid` to build `IdxInsert` keys — even though those same + values were still sitting in `col_regs`/`rowid_reg` from just before + the write. `emit_index_key_ops_from_regs` builds the key via + `Opcode::Copy` from those registers instead, dropping the seek and + re-read on every indexed INSERT/UPDATE. `IdxDelete` paths (removing a + *different*, already-on-disk row's stale entries) are unaffected — + they have no such register run to reuse (#663). + ## [0.18.8] - 2026-08-29 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 494140f..4f6369c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -781,7 +781,7 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "sqlite-rs" -version = "0.18.10" +version = "0.18.9" dependencies = [ "criterion", "md-5", diff --git a/Cargo.toml b/Cargo.toml index 40e704c..75ad8ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlite-rs" -version = "0.18.10" +version = "0.18.9" edition = "2021" publish = false license = "Apache-2.0" diff --git a/README.md b/README.md index 6dc37f6..599e9f2 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ See [.openspec/plan.md](.openspec/plan.md) for the full breakdown and [.openspec ## Status -**Version 0.18.10** — see [CHANGELOG.md](CHANGELOG.md). One minor version per completed plan phase. +**Version 0.18.9** — see [CHANGELOG.md](CHANGELOG.md). One minor version per completed plan phase. | Phase | Version | Status | |-------|---------|--------|