Commit Graph

1105 Commits

Author SHA1 Message Date
Yasuhiro Matsumoto
cad8b71943 Reject nil module and nil BestIndex result 2026-07-29 09:04:45 +09:00
mattn
0cfec60306 Merge pull request #1427 from mattn/sqlite-amalgamation-3053003
Upgrade SQLite to version 3053003
2026-07-13 04:36:04 +00:00
Yasuhiro Matsumoto
603b1ba704 Upgrade SQLite to version 3053003 2026-07-13 13:24:03 +09:00
mattn
3be2bdb122 Merge pull request #1426 from mattn/fix-load-extension-errmsg-leak
Fix leak of extension load error message
2026-07-13 04:17:09 +00:00
mattn
7a3f560cd5 Merge pull request #1425 from mattn/fix-trampoline-abi
Use C.int in exported callbacks to match C declarations
2026-07-13 04:06:50 +00:00
mattn
a5fd1f63a0 Merge pull request #1424 from mattn/fix-preupdate-null-deref
Check preupdate value fetch result to avoid NULL dereference
2026-07-13 03:55:44 +00:00
mattn
66371d29b6 Merge pull request #1423 from mattn/fix-open-error-leak
Close database on all error paths in Open
2026-07-13 03:12:43 +00:00
mattn
b55096d3d3 Merge pull request #1418 from mattn/add-coderabbit-config
Add CodeRabbit configuration
2026-07-13 03:05:10 +00:00
mattn
fa5cf80a40 Merge pull request #1422 from mattn/fix-bind-unsupported-type
Return error instead of silently ignoring unsupported bind types
2026-07-13 03:01:23 +00:00
Yasuhiro Matsumoto
08a4ce47df Add regression tests for bind error paths 2026-07-13 11:51:04 +09:00
mattn
ca77cf459f Merge pull request #1421 from mattn/fix-callback-named-types
Fix panic when registered functions return named types
2026-07-13 02:37:48 +00:00
Yasuhiro Matsumoto
f9029e4b8b Convert named argument types and add regression tests 2026-07-13 11:27:50 +09:00
mattn
526f03ee48 Merge pull request #1420 from mattn/fix-deserialize-nil-check
Check sqlite3_malloc64 result in Deserialize
2026-07-13 02:21:21 +00:00
mattn
b7c167ec35 Merge pull request #1419 from mattn/fix-vtab-open-error
Return error from vtable cursor open instead of ignoring it
2026-07-13 02:10:51 +00:00
Yasuhiro Matsumoto
8b648a0538 Fix leak of extension load error message 2026-07-13 10:55:25 +09:00
Yasuhiro Matsumoto
16b935f7cc Use C.int in exported callbacks to match C declarations 2026-07-13 10:52:07 +09:00
Yasuhiro Matsumoto
82d5507d2c Check preupdate value fetch result to avoid NULL dereference 2026-07-13 10:48:33 +09:00
Yasuhiro Matsumoto
0c0b48c40e Close database on all error paths in Open 2026-07-13 10:46:43 +09:00
Yasuhiro Matsumoto
c703179f63 Return error instead of silently ignoring unsupported bind types 2026-07-13 10:37:55 +09:00
Yasuhiro Matsumoto
2485463b62 Fix panic when registered functions return named types 2026-07-13 10:25:47 +09:00
Yasuhiro Matsumoto
7d6ccee48e Check sqlite3_malloc64 result in Deserialize 2026-07-13 10:17:21 +09:00
Yasuhiro Matsumoto
5ce75d7cbd Return error from vtable cursor open instead of ignoring it 2026-07-13 10:15:49 +09:00
mattn
78710fc089 Merge pull request #1417 from mattn/add-coderabbit-sponsor
Add CodeRabbit as a sponsor
2026-07-08 13:38:47 +00:00
Yasuhiro Matsumoto
d613bbb4bc Add CodeRabbit configuration 2026-07-08 22:35:18 +09:00
Yasuhiro Matsumoto
9d436de279 Add CodeRabbit as a sponsor 2026-07-08 22:28:34 +09:00
mattn
83baa779b9 Merge pull request #1416 from mattn/fix-stmt-close-race
Fix race in SQLiteStmt.Close by holding conn lock across cache check
2026-07-06 16:42:34 +00:00
Yasuhiro Matsumoto
34c9c34da4 Fix race in SQLiteStmt.Close by holding conn lock across cache check 2026-07-07 00:31:45 +09:00
Yasuhiro Matsumoto
a40eeff51e Add upgrade/check.sh to check if SQLite upgrade is available 2026-06-22 00:27:39 +09:00
mattn
693de12676 Merge pull request #1408 from dxbjavid/getfilename-cstring-leak
free leaked schema string in GetFilename
2026-06-21 15:11:48 +00:00
mattn
837b4f2860 Merge pull request #1413 from mattn/cache-stmt-column-metadata
cache column metadata for prepared and cached statements
2026-06-18 05:23:30 +00:00
Yasuhiro Matsumoto
e99486c6b5 cache column metadata for prepared and cached statements
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.
2026-06-18 14:15:01 +09:00
mattn
eb06f26148 Merge pull request #1412 from mattn/codex-5sxu1n
Use atomic.Value for handle table and add concurrent lookup benchmark
2026-06-18 04:41:29 +00:00
mattn
423f9605f3 Make callback handle lookups lock-free 2026-06-18 04:28:39 +00:00
dxbjavid
a3cd5cd6fd free leaked schema string in GetFilename 2026-06-11 15:22:46 +05:30
mattn
379319c0d8 Merge pull request #1407 from mattn/blob-arg-call-order
Follow documented call order for sqlite3_value_blob in callbackArgString
2026-06-09 17:33:29 +00:00
Yasuhiro Matsumoto
c3e96cd5bb call sqlite3_value_blob before sqlite3_value_bytes in callbackArgString 2026-06-10 02:17:43 +09:00
mattn
518ffdba0a Merge pull request #1406 from dxbjavid/function-text-embedded-nul
preserve embedded NUL bytes in custom function text values
2026-06-09 17:14:21 +00:00
dxbjavid
b1e8d68f31 read text value before its byte length to match documented order 2026-06-09 21:51:53 +05:30
dxbjavid
6b68c20301 preserve embedded NUL bytes in custom function text values 2026-06-09 16:29:57 +05:30
mattn
c63653b7ff Merge pull request #1405 from dxbjavid/oversize-blob-result-guard
guard oversized blob length in callbackRetBlob
2026-06-06 02:04:01 +00:00
dxbjavid
5f1e21dd1e guard oversized blob length in callbackRetBlob 2026-06-05 20:44:39 +05:30
Yasuhiro Matsumoto
78b95b7777 Clean up accidental v2 references 2026-06-05 21:15:35 +09:00
mattn
7ca6a979f9 Merge pull request #1404 from mattn/sqlite-amalgamation-3053002
Upgrade SQLite to version 3053002
2026-06-05 11:18:09 +00:00
Yasuhiro Matsumoto
e2ab9318ee Upgrade SQLite to version 3053002 2026-06-05 20:09:45 +09:00
mattn
75d8c60d0d Merge pull request #1403 from dxbjavid/bind-text64-length
bind via sqlite3_bind_text64/blob64 to avoid 32-bit length truncation
2026-06-05 11:08:15 +00:00
dxbjavid
d1ab49c04b bind via sqlite3_bind_text64/blob64 to avoid 32-bit length truncation 2026-06-05 15:04:25 +05:30
mattn
b3b5216890 Merge pull request #1402 from dxbjavid/guard-resulttext-oversize
guard oversized string length in ResultText
2026-06-03 11:25:03 +00:00
dxbjavid
2af23f777e guard oversized string length in ResultText 2026-06-03 14:33:41 +05:30
mattn
1a7264c5a6 Merge pull request #1400 from calmh/unsafereflect
modernise reflect.SliceHeader to unsafe.Slice
2026-06-02 02:29:27 +00:00
mattn
9accb920a6 Merge pull request #1399 from calmh/uintsize
avoid out of bounds write in unlock_notify_wait on 64 bit platforms
2026-06-02 02:18:01 +00:00