Merge upstream - #49
Merged
Merged
Conversation
Use atomic.Value for handle table and add concurrent lookup benchmark
Column names and declared types are invariant for the lifetime of a prepared statement, but Columns()/declTypes() called C.sqlite3_column_name and sqlite3_column_decltype on every query, once per column. On hot QueryRow paths reusing an explicit Prepare or a _stmt_cache_size statement, this is a fixed set of cgo crossings paid on every execution. Cache the names and decltypes on the SQLiteStmt the first time they are materialized and reuse them on subsequent executions. Caching is gated by cacheMetadata(): explicit prepared statements always cache, Query-created ephemeral statements cache only when they live in the connection stmt cache. One-shot statements keep the previous per-call behavior.
cache column metadata for prepared and cached statements
free leaked schema string in GetFilename
Fix race in SQLiteStmt.Close by holding conn lock across cache check
Add CodeRabbit as a sponsor
Return error from vtable cursor open instead of ignoring it
Check sqlite3_malloc64 result in Deserialize
Fix panic when registered functions return named types
Return error instead of silently ignoring unsupported bind types
Add CodeRabbit configuration
Close database on all error paths in Open
Check preupdate value fetch result to avoid NULL dereference
Use C.int in exported callbacks to match C declarations
Fix leak of extension load error message
Upgrade SQLite to version 3053003
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.