Commit Graph

1043 Commits

Author SHA1 Message Date
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
justinsb
9794660801 docs: clarify GCP section
GCP (at least Google Compute Engine) is a VM, and does not have restrictions relating to gcc.

Also it appears that this whole section refers to general compiling, rather than compiling on GCP.
2025-04-01 22:39:11 +09:00
Halil ibrahim Onay
b9f4d8c067 chore: Fix memory leak in callbackRetText function 2025-04-01 22:33:32 +09:00
Tim Van Baak
cff37b40bd Fix json example
Because of sqlite's flexible typing, even though the column was declared as jsonb, the values are stored as the TEXT-typed json because they're converted to strings by Value/Scan. If the table is strict with a BLOB column, the example fails because of the type mismatch. This can be fixed by using the `jsonb()` function to convert incoming string-typed json and the `json()` function to convert outgoing binary-typed jsonb. The example is expanded to show both of these approaches.

Note that both approaches use the same string-typed marshalling functions because the conversion to jsonb occurs within sqlite3, not within the Go code. SQLite docs state that the binary format is internal and applications shouldn't try to generate it: https://sqlite.org/json1.html#jsonb
2025-01-21 06:42:16 -08:00
nina
7658c06970 Fix sqlite3_opt_unlock_notify with USE_LIBSQLITE3 (#1262)
A valid sqlite header must always be included (like in the other
files) but sqlite3-binding.h explicitly guards against the system
library case.
2024-12-08 23:36:34 -05:00
Charlie Vieth
c61eeb5d1d remove superfluous use of runtime.SetFinalizer on SQLiteRows
The commit removes the use of runtime.SetFinalizer to finalize
SQLiteRows since only serves to close the associated SQLiteStmt which
already has a registered finalizer.

It also fixes a race and potential panic in SQLiteRows.Close around the
SQLiteRows.s field (*SQLiteStmt) which is accessed without a mutex being
held, but modified with it held (null'd out). Further the mutex we are
holding is that of the SQLiteStmt so a subsequent call to Close will
cause a panic sine it'll attempt to dereference a nil field. The fix
here is to add a mutex for closing to SQLiteRows.

Since we now also set the s field to nil when closing this commit
removes the "closed" field (since checking if s is nil is the same) and
also changes the type of "nc" (number of columns) to an int32 so that we
can pack the nc and cls fields, and add the close mutex without making
the struct any bigger.

```
goos: darwin
goarch: arm64
pkg: github.com/charlievieth/go-sqlite3
cpu: Apple M4 Pro
                                          │   x1.txt    │               x4.txt                │
                                          │   sec/op    │   sec/op     vs base                │
Suite/BenchmarkExec/Params-14               719.2n ± 2%   716.9n ± 1%        ~ (p=0.897 n=10)
Suite/BenchmarkExec/NoParams-14             506.5n ± 3%   500.1n ± 0%   -1.25% (p=0.002 n=10)
Suite/BenchmarkExecContext/Params-14        1.584µ ± 0%   1.567µ ± 1%   -1.07% (p=0.007 n=10)
Suite/BenchmarkExecContext/NoParams-14      1.524µ ± 1%   1.524µ ± 1%        ~ (p=0.539 n=10)
Suite/BenchmarkExecStep-14                  443.9µ ± 3%   441.4µ ± 0%   -0.55% (p=0.011 n=10)
Suite/BenchmarkExecContextStep-14           447.8µ ± 1%   442.9µ ± 0%   -1.10% (p=0.000 n=10)
Suite/BenchmarkExecTx-14                    1.643µ ± 1%   1.640µ ± 0%        ~ (p=0.642 n=10)
Suite/BenchmarkQuery-14                     1.968µ ± 3%   1.821µ ± 1%   -7.52% (p=0.000 n=10)
Suite/BenchmarkQuerySimple-14               1.207µ ± 2%   1.040µ ± 1%  -13.84% (p=0.000 n=10)
Suite/BenchmarkQueryContext/Background-14   2.400µ ± 1%   2.320µ ± 0%   -3.31% (p=0.000 n=10)
Suite/BenchmarkQueryContext/WithCancel-14   8.847µ ± 5%   8.512µ ± 4%   -3.79% (p=0.007 n=10)
Suite/BenchmarkParams-14                    2.131µ ± 2%   1.967µ ± 1%   -7.70% (p=0.000 n=10)
Suite/BenchmarkStmt-14                      1.444µ ± 1%   1.359µ ± 1%   -5.89% (p=0.000 n=10)
Suite/BenchmarkRows-14                      61.57µ ± 1%   60.24µ ± 1%   -2.16% (p=0.000 n=10)
Suite/BenchmarkStmtRows-14                  60.15µ ± 1%   59.08µ ± 1%   -1.78% (p=0.000 n=10)
Suite/BenchmarkQueryParallel-14             960.9n ± 1%   420.8n ± 2%  -56.21% (p=0.000 n=10)
geomean                                     4.795µ        4.430µ        -7.62%
```
2024-12-09 13:00:34 +09:00
Sam Jewell
ab13d63ae7 Remove suggestion that CGO isn't always needed (#1290)
Fixes #855
2024-12-04 20:38:50 -05:00
Jonathan Stacks
348128fdcf Upgrade upload-artifact action
action/upload-artifact@v1 has been deprecated for a while. It seems like GitHub Actions
will now cancel workflows if it is still using v1 of the action. This
upgrades to the latest v4 of the action.

See https://github.blog/news-insights/product-news/get-started-with-v4-of-github-actions-artifacts/
for details.
2024-11-27 07:51:01 +09:00
Yasuhiro Matsumoto
82bc911e85 close statement when missing query arguments
fixes #1280
2024-10-04 23:58:44 +09:00
Yasuhiro Matsumoto
846fea6c14 Update amalgamation code to 3.46.1 2024-09-04 22:29:32 +09:00
Dustin Ward
3c0390b77c add support for libsqlite3 on z/OS 2024-05-01 22:59:32 +09:00
pomadev
18cdded900 fix: some typos 2024-02-22 14:15:27 +09:00
Yasuhiro Matsumoto
6ee3e6746e close channel 2024-02-03 02:00:28 +09:00
Yasuhiro Matsumoto
4702d9b5d6 Update amalgamation code to 3.45.1 2024-01-31 22:13:41 +09:00
Yasuhiro Matsumoto
64bbe6202c add example 2024-01-25 23:34:36 +09:00
Yasuhiro Matsumoto
cdc8095814 Update amalgamation code to 3.45.0 2024-01-25 23:34:36 +09:00
Yasuhiro Matsumoto
d3c33332c3 update go version 2024-01-25 22:55:22 +09:00
Yasuhiro Matsumoto
1f0dc0a0ef go fmt ./... 2024-01-25 22:55:22 +09:00
Yasuhiro Matsumoto
c91bca4fb4 update go version to 1.19 2024-01-25 22:55:22 +09:00
leso-kn
00b02e0ba9 Fix musl build (#1164) 2023-12-15 10:23:24 +09:00
Diego Becciolini
d9e2789502 temporary fix to make the job pass
use same workaround as https://github.com/authelia/authelia/pull/6404
before https://github.com/mattn/go-sqlite3/pull/1177 fixes the build
otherwise
2023-12-14 10:25:47 +09:00
Diego Becciolini
c260ecf7e4 use locally checked out lib in the docker job
see https://github.com/mattn/go-sqlite3/pull/1177
2023-12-14 10:25:47 +09:00
Yasuhiro Matsumoto
9fd6f4ffd3 Update amalgamation code 2023-11-04 23:05:11 +09:00
Yasuhiro Matsumoto
f08f1b6b9c Update amalgamation code 2023-06-01 08:32:35 +09:00
Partho Kumar Rajvor
d366d8de4e Update README.md 2023-05-17 10:16:53 +09:00
Andrew Zhang
edc3bb6955 Fix virtual table example. (#1149) 2023-04-05 22:46:26 -04:00
Denis Dmitriev
85a15a7254 Add build tags to support both x86 and ARM compilation on macOS (#1069)
* Add build tags to support both x86 and ARM compilation on macOS

* Documentation fix: command line for build under macOS

* Global replace 'macOS X' -> 'macOS'. Fix typo in -tags cmd line param

* `README.md`: fix all `--tags` -> `-tags`

---------

Co-authored-by: Denis Dmitriev <dmitriev@itspartner.net>
2023-02-23 00:00:03 -05:00
Connor Hindley
819cc0ddf2 Add go 1.20 to workflow matrix, remove 1.17 (#1136)
Closes #1129
2023-02-15 23:42:36 -05:00
Charlie Vieth
7ce62b2ade Replace namedValue with driver.NamedValue to avoid copying exec/query args (#1128) 2023-02-11 17:14:42 -05:00
Philip O'Toole
1603038a4d Add Serialize and Deserialize support (#1089)
Add support for Serialize and Deserialize, which wrap sqlite3_serialize and sqlite3_deserialize.
2022-11-17 08:03:02 -05:00
Philip O'Toole
bce3773726 Update expected test output
Broken in https://github.com/mattn/go-sqlite3/pull/1085
2022-10-26 22:03:24 +09:00
Yasuhiro Matsumoto
31c761827c Update amalgamation code 2022-10-26 22:03:24 +09:00
David Vassallo
4b8633cceb Updating vtable example, "BestIndex" method (#1099)
As it was, the vtable example will give an error when adding any kind of SQL constraint in the SQL statement. Updating the BestIndex method will ensure that adding SQL constraints will not result in errors

Signed-off-by: David Vassallo <davevassallo@gmail.com>

Signed-off-by: David Vassallo <davevassallo@gmail.com>
2022-10-18 19:04:52 -04:00
David Vassallo
0b3708425e Update README.md to include vtable feature (#1100)
Added documentation for sqlite_vtable build tag to the README.
2022-10-18 18:31:09 -04:00
Luca Guidi
90900be5db Cross Compiling for Mac OS via musl-cross
# Enhancement

Update `README.md` with new instructions for Mac OS cross compiling.

# Why?

The current suggested solution `xgo` is no longer maintained (GitHub archived repository).

# Credits

Credits go to Pieter Claerhout (@pieterclaerhout) and his blog post: https://www.yellowduck.be/posts/cross-compile-a-go-package-which-uses-sqlite3
2022-09-18 22:34:48 +09:00
kkqy
be28dec3df Golang's linker add mingwex and mingw32 automatically,so we don't need add them manually. 2022-09-18 22:20:58 +09:00
Levi Gruspe
17f6553f94 Add support for sqlite_math_functions tag (#1059)
Add support for SQLITE_ENABLE_MATH_FUNCTIONS compile-time option via the sqlite_math_functions build tag.

Co-authored-by: Dominik Kraus <dominik.kraus@nktek.de>
2022-09-17 10:45:46 -04:00
KiYugadgeter
7476442ed6 こんにちわ is wrong Japanse. The correct word is こんにちは 2022-09-04 18:00:08 +09:00
RewardedIvan
da62659c58 Fix "ennviroment" (#1077)
Fix typo in README
2022-09-01 22:47:55 -04:00