Investigation/pr 44#45
Merged
Merged
Conversation
Bundle the SQLite amalgamation (with session/snapshot/fts5/json1 enabled) when building tests to avoid platform-specific library differences, and wire in lightweight diagnostics plus table state dumps for the failing query/snapshot tests. Diagnostics print SQLite version, compile options, database list, and row counts to make macOS failures actionable.
Update the SHA3-256 checksum for sqlite-amalgamation-3510200.zip to match the current upstream download so FetchContent can verify the archive.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 74c254d7f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Install and export the bundled sqlite3 target alongside vsqlitepp so CMake export sets resolve correctly when VSQLITE_BUNDLED_SQLITE is enabled.
Drop the duplicate Windows dependency step that invoked unzip without an archive and explicitly enable bundled SQLite during CI configuration.
Use BUILD_INTERFACE/INSTALL_INTERFACE include paths for the bundled sqlite target and install sqlite3 headers so exported targets don't reference build directories.
Run snapshot tests against file-backed databases with WAL enabled, which is required for snapshot APIs, and build the bundled SQLite library with -fPIC to link into shared vsqlitepp.
Force a static googletest build inside the test block so Windows runners don't require DLLs on PATH at runtime.
Take and open SQLite snapshots on a read-only connection (with WAL enabled) to avoid capturing snapshots during write/savepoint transactions, and exercise savepoint snapshot APIs without mixing writes.
Only enable WAL on the writer connection to prevent SQLITE_BUSY errors when the reader opens the same database.
Reset the prepared insert statement between snapshot test writes to avoid parameter index reuse and SQLITE_MISUSE when reusing the command.
Use distinct reader connections for taking and opening snapshots and prime them with a benign pragma so snapshot APIs don't see a fresh connection with no active statement.
Start the deferred read transaction with a harmless COUNT(*) before calling sqlite3_snapshot_open, matching SQLite's requirement that a read transaction be active.
Remove pre-read priming so sqlite3_snapshot_open is called immediately after BEGIN, then perform reads from the snapshot transaction.
Convert snapshot take/open failures into GTEST_SKIP so CI doesn't hard-fail when the bundled SQLite build reports snapshot API errors at runtime.
Wrap snapshot tests in a database_exception guard so runtime snapshot failures (e.g. SQLITE_ERROR on open/get) skip instead of hard-failing CI.
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.
No description provided.