mattn
2195c5da73
Merge pull request #1436 from mattn/fix-fuzz-off-by-one
...
Fix off-by-one truncating SQL in fuzz target
2026-07-29 05:26:21 +00:00
mattn
df9873f2fa
Merge pull request #1435 from mattn/fix-upgrade-error-handling
...
Fail upgrade tool on download and write errors
2026-07-29 05:15:35 +00:00
Yasuhiro Matsumoto
6ebb665a62
Close merge destination before removing the source
2026-07-29 14:05:50 +09:00
mattn
fadf4a7574
Merge pull request #1434 from mattn/fix-vtable-nil-checks
...
Reject nil module and nil BestIndex result
2026-07-29 04:46:28 +00:00
mattn
273021256a
Merge pull request #1433 from mattn/fix-vtable-bestindex-usable
...
Ignore Used for constraints SQLite marked not usable
2026-07-29 04:34:45 +00:00
mattn
eba871f121
Merge pull request #1432 from mattn/fix-vtable-update-rowid
...
Identify updated row by argv 0 in goVUpdate
2026-07-29 04:24:56 +00:00
Yasuhiro Matsumoto
726af39fbd
Reject rowid-changing updates on virtual tables
2026-07-29 13:14:19 +09:00
mattn
a39da35854
Merge pull request #1431 from mattn/fix-vtable-filter-null
...
Translate SQL NULL filter arguments to nil like goVUpdate
2026-07-29 03:14:58 +00:00
mattn
b3302528c6
Merge pull request #1430 from mattn/fix-vtable-estimated-cost
...
Do not clobber SQLite's default cost estimates in BestIndex
2026-07-29 02:19:31 +00:00
Yasuhiro Matsumoto
2897b83d18
Clamp fractional row estimates to at least 1
2026-07-29 11:10:45 +09:00
mattn
3babc1f719
Merge pull request #1429 from mattn/fix-vtable-handle-leak
...
Release vtable and cursor handles when SQLite destroys them
2026-07-29 01:14:15 +00:00
Yasuhiro Matsumoto
f65452a23d
Use unique driver name in leak test
2026-07-29 10:04:39 +09:00
Yasuhiro Matsumoto
322330f147
Fail upgrade tool on download and write errors
2026-07-29 09:07:31 +09:00
Yasuhiro Matsumoto
6443b7e879
Fix off-by-one truncating SQL in fuzz target
2026-07-29 09:06:26 +09:00
Yasuhiro Matsumoto
cad8b71943
Reject nil module and nil BestIndex result
2026-07-29 09:04:45 +09:00
Yasuhiro Matsumoto
518016c844
Ignore Used for constraints SQLite marked not usable
2026-07-29 09:02:34 +09:00
Yasuhiro Matsumoto
1a1bc9e778
Identify updated row by argv 0 in goVUpdate
2026-07-29 09:01:10 +09:00
Yasuhiro Matsumoto
c2ecdac1df
Translate SQL NULL filter arguments to nil like goVUpdate
2026-07-29 08:59:49 +09:00
Yasuhiro Matsumoto
1f0b756378
Do not clobber SQLite's default cost estimates in BestIndex
2026-07-29 08:57:25 +09:00
Yasuhiro Matsumoto
7d534a0306
Release vtable and cursor handles when SQLite destroys them
2026-07-29 01:58:50 +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