Skip to content

Restore SQLite::Savepoint ABI compatibility - #576

Merged
SRombauts merged 3 commits into
masterfrom
fix-savepoint-abi
Sep 21, 2026
Merged

SRombauts merged 3 commits into
masterfrom
fix-savepoint-abi

Conversation

@SRombauts

Copy link
Copy Markdown
Owner

Summary

Rationale

SQLite::Savepoint is a public class instantiated by value by consumers. Adding a private data member changes its class layout and can break strict binary compatibility while SQLiteCpp 3.4.0 still keeps the 3.x ABI / SOVERSION 0.

The additional rollback state was only an optimization to avoid issuing a second ROLLBACK TO from the destructor. SQLite already tolerated the previous behavior, so restoring that implementation is the smallest compatibility-preserving fix before 3.4.0.

Validation

  • both commits remain buildable independently
  • existing Savepoint tests cover manual rollback/release and destructor behavior
  • CI will exercise the full supported build matrix

@coveralls

coveralls commented Sep 21, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 99.713%. remained the same — fix-savepoint-abi into master

@SRombauts SRombauts self-assigned this Sep 21, 2026
@SRombauts SRombauts added the bug label Sep 21, 2026
@SRombauts
SRombauts merged commit 94c688c into master Sep 21, 2026
54 checks passed
@SRombauts
SRombauts deleted the fix-savepoint-abi branch September 21, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants