Commit Graph

1031 Commits

Author SHA1 Message Date
mattn
8d12439413 Merge pull request #1386 from mattn/perf/reduce-cgo-overhead
reduce CGO call overhead for exec and bind paths
2026-04-06 22:36:14 +09:00
Yasuhiro Matsumoto
89f4bbe489 fix build with SQLITE_ENABLE_UNLOCK_NOTIFY
Move extern declarations for _sqlite3_*_blocking functions before
_sqlite3_exec_no_args which references them. Remove unused
_sqlite3_prepare_v2_nolen function.
2026-04-06 22:29:28 +09:00
Yasuhiro Matsumoto
49540487ae reduce CGO call overhead for exec and bind paths
- Add _sqlite3_exec_no_args() C function that combines prepare+step+finalize
  into a single CGO crossing for parameterless exec (most common case)
- Add _sqlite3_reset_clear() C function that combines sqlite3_reset and
  sqlite3_clear_bindings into a single CGO crossing
- Use semaphore channel instead of result struct channel in context-aware
  exec/Next paths to reduce allocations
- Use time.AppendFormat with stack buffer to avoid heap allocation in
  time.Time binding
- Optimize bindNamedIndices to reuse a single buffer instead of 3
  separate C.CString allocations
- Remove intermediate bindIndices slice allocation in named parameter
  binding path
- Pass explicit query length to sqlite3_prepare_v2 to avoid C-side strlen

benchstat (n=8):

  BenchmarkExec:   -29.44% sec/op, -50% B/op, -33% allocs/op
  BenchmarkQuery:  -9.83% sec/op
  BenchmarkParams: -6.38% sec/op
  geomean:         -6.72% sec/op
2026-04-06 22:22:20 +09:00
mattn
4a311ff7de Merge pull request #1385 from mattn/perf/reduce-bind-overhead
Reduce sqlite bind overhead
2026-04-06 21:38:56 +09:00
Yasuhiro Matsumoto
61c5b98535 reduce sqlite bind overhead 2026-04-06 21:30:35 +09:00
mattn
f92973809d Merge pull request #1384 from mattn/raise-go121-cleanup
Raise minimum Go version to 1.21
2026-04-03 22:09:55 +09:00
Yasuhiro Matsumoto
efae5e7686 raise minimum Go version to 1.21 2026-04-03 17:41:32 +09:00
mattn
b23d54cb76 Merge pull request #1383 from mattn/codex/next-row-batch-fetch
[codex] batch row column fetches in Next
2026-04-03 17:39:28 +09:00
Yasuhiro Matsumoto
e1557be6ce batch row column fetches in Next 2026-04-03 12:47:30 +09:00
mattn
cc39db7160 Merge pull request #1382 from mattn/codex/sqlite3-bind-fastpath
[codex] optimize sqlite bind fast path
2026-04-03 12:00:00 +09:00
Yasuhiro Matsumoto
9a908a9fd0 optimize sqlite bind fast path 2026-04-03 11:47:49 +09:00
mattn
edadafaf61 Merge pull request #1381 from mattn/eliminate-bounds-checks
Eliminate unnecessary bounds checks in hot paths
2026-03-30 12:57:50 +09:00
Yasuhiro Matsumoto
8f9f86ea43 Eliminate unnecessary bounds checks in hot paths
- Replace len(args[start:start+na]) > 0 with na > 0 to avoid slice bounds check
- Use range loops instead of manual index loops for cols/decltype slices
- Use range variable v.Ordinal instead of re-indexing args[i].Ordinal
- Add bounds hint for decltype access in nextSyncLocked loop
2026-03-30 12:48:09 +09:00
mattn
0d2388125f Merge pull request #1379 from theimpostor/pr-1322-missing-constraint-op-types
Add missing virtual table constraint op constants
2026-03-19 13:39:43 +09:00
theimpostor
84bdc43851 add missing index constraint op types 2026-03-18 17:40:17 -05:00
mattn
57e50071ab Merge pull request #1313 from Jaculabilis/json-example
Fix json example
2026-03-17 02:31:23 +09:00
Yasuhiro Matsumoto
bb8d0b2a05 Bump Go test matrix versions from 1.23-1.25 to 1.24-1.26 2026-03-17 02:19:02 +09:00
Yasuhiro Matsumoto
bc7436edad Bump GitHub Actions versions to latest 2026-03-17 02:19:02 +09:00
Yasuhiro Matsumoto
0f12d4e815 Ensure Close always removes runtime finalizer to prevent memory leak
Fixes #1319
2026-03-17 02:19:02 +09:00
Yasuhiro Matsumoto
d71eda82d4 Fix upgrade.sh: add already-up-to-date check and fix changelog URL format 2026-03-17 01:41:11 +09:00
Yasuhiro Matsumoto
4ea2a9fb44 Upgrade SQLite to version 3051003 2026-03-17 01:41:11 +09:00
Yasuhiro Matsumoto
8c99a68554 Call sqlite3_clear_bindings() in bind() to reset parameters
Closes #1063
2026-03-17 01:23:59 +09:00
Yasuhiro Matsumoto
5a1f4d3045 use unsafe.Slice 2026-03-04 09:27:38 +09:00
Yasuhiro Matsumoto
8366a001c1 create pull-request 2026-03-04 09:14:31 +09:00
Yasuhiro Matsumoto
208733130e add script to create pull-request 2026-01-16 17:19:36 +09:00
Yasuhiro Matsumoto
a5108832c7 Upgrade SQLite to version 3051002 2026-01-16 17:19:17 +09:00
Daniël Sonck
dce6b34a89 Add percentile extension 2026-01-01 23:03:41 +09:00
Yasuhiro Matsumoto
3c885a9512 Upgrade SQLite to version 3051001 2026-01-01 23:00:27 +09:00
Yasuhiro Matsumoto
3e773a9be5 update github workflows 2026-01-01 22:56:17 +09:00
Yasuhiro Matsumoto
2f6a2bbbfd fix upgrade script 2026-01-01 22:44:09 +09:00
Yasuhiro Matsumoto
aa7cdd300f update upgrade script 2026-01-01 22:32:40 +09:00
nautaa
a66908a543 use quote include instead of angled include for sqlite3-binding.h 2025-11-10 13:41:25 +09:00
Yasuhiro Matsumoto
8bf7a8a844 update amalgamation code 2025-08-14 21:57:30 +09:00
Eray Tufan
2e165e0718 fix syntax error 2025-08-11 23:08:54 +09:00
Yasuhiro Matsumoto
e63a0c3f5b fix test 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
a9775d4d98 return error 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
c857a95a18 drop call of AuthEnabled() 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
eb86f084da check authEnabled 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
4372bf2fb0 enable test for sqlite_userauth but it is dropped at least 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
69a843e67f fix GitHub workflow 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
4c1ac1eb24 fix GitHub workflow 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
a8be3f8183 fix GitHub workflow 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
37998ab68d drop tests for userauth 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
5629687fbd update GitHub workflows 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
90f0aff35d drop userauth feature 2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
d8fd268206 drop userauth implementation
closes #1341
2025-07-30 20:51:05 +09:00
Yasuhiro Matsumoto
8c283ed77e Update amalgamation code to 3.50.3 2025-07-24 22:20:51 +09:00
Yasuhiro Matsumoto
f76bae4b00 upgrade amalgamation code 2025-04-16 22:41:38 +09:00
Jonathan Stacks
65302b0708 Add ability to set an int64 file control (#1298)
* Add ability to set an int64 file control

* Update documentation

* Remove duplicate err check in test

* Update sqlite3.go

Co-authored-by: rittneje <rittneje@gmail.com>

---------

Co-authored-by: rittneje <rittneje@gmail.com>
2025-04-05 15:42:20 -04:00
Yasuhiro Matsumoto
8d69329881 revert #1259 2025-04-03 01:27:34 +09:00