Commit Graph

140 Commits

Author SHA1 Message Date
Yasuhiro Matsumoto
c91bca4fb4 update go version to 1.19 2024-01-25 22:55:22 +09:00
Joshua Hull
4ef63c9c0d Rollback on constraint failure (#1071)
Always rollback on a commit error
2022-09-01 22:45:11 -04:00
Joshua Hull
f92b6bb2a1 Fix TestQueryer test to use exec for multistatement insertion 2022-09-02 00:14:06 +09:00
Joshua Hull
d5355d86f9 Fix TestQueryer test 2022-09-02 00:14:06 +09:00
Oliver Giles
f1eef49b3f TestQueryer: actually check Rows returned
Fixes a test which did not correctly exercise the multi-statement
Queryer functionality
2022-08-16 21:24:19 +09:00
Phil Eaton
3ccccfb4c9 Support returning any from callbacks (#1046)
Support returning any from callbacks
2022-05-29 21:06:43 -04:00
Ben Johnson
ae2a61f847 Add sqlite3_file_control() support
This commit adds the SQLiteConn.FileControlInt() method which calls the
underlying sqlite3_file_control() function with an int argument. This can
be used for low-level operations on SQLite databases such as persisting
the WAL file after database close.
2022-01-29 01:58:27 +09:00
Evan Jones
a4fc68a6cb sqlite3_test.go: Fix go test -run=...: Use standard sub-tests (#881)
Selecting only some tests with go test -run=... does not work, because
some of the tests are executed using testing.RunTests(). That function
is documented as "an internal function". This changes TestSuite to use
the testing subtests feature instead.

This has a behaviour change: the benchmarks now need to be
selected at the command line with the standard go test -bench=.
flag. This will also set up the test database twice when running
benchmarks, rather than once.
2021-10-26 00:24:46 +09:00
Michael Hofmann
98d34f9dc5 Use single-quotes around string literals. (#934) 2021-10-26 00:09:24 +09:00
Aviv Klasquin Komissar
3900dc3187 return non-nil result when calling exec with empty query (#973)
fixes #963
2021-10-19 18:18:21 +09:00
Jesse Rittner
ab91e9342b make column metadata functionality opt-in 2021-02-18 13:34:41 -05:00
Philip O'Toole
95e88ca693 Export sqlite3_column_table_name (#900) 2021-02-18 11:58:21 +09:00
mattn
1fbedab173 Support vfs for Open (#877)
Closes #876
2020-11-17 01:54:21 +09:00
Evan Jones
70c77097f2 sqlite3_test.go: Move Go 1.13 test to sqlite3_go113_test.go (#883)
Commit 4f7abea96e added a test that uses Conn.Raw, which was added in
Go >= 1.13. The go-sqlite3 project runs tests with Go >= 1.11. Remove
the test from sqlite3_test.go, so it only runs with the correct
versions of Go.

Instead of adding a new test, modify the existing test that already
uses Conn.Raw() to check the type of driverConn.
2020-11-17 01:52:26 +09:00
Evan Jones
4f7abea96e doc.go: you can use Conn.Raw to get *SQLiteConn (#882)
This can be easier that registering a new driver, in some cases.
Add a test to verify that this works.
2020-11-16 23:42:00 +09:00
gber
db4c9426f8 Enable all prefixes for named parameters and allow for unused named parameters (#811)
* Allow unused named parameters

Try to bind all named parameters and ignore those not used.

* Allow "@" and "$" for named parameters

* Add tests for named parameters

Co-authored-by: Guido Berhoerster <guido+go-sqlite3@berhoerster.name>
2020-05-14 23:28:04 +09:00
rittneje
b4f5cc77d1 add SystemErrno to Error (#740)
* adding SystemErrno to Error, and fixing error logic when open fails

* fix for old versions of libsqlite3 that do not have sqlite3_system_errno defined

* fixing pre-processor logic
2019-12-17 15:58:28 +09:00
Yasuhiro Matsumoto
fc06e55305 Add build constraints for non cgo 2019-11-18 18:03:31 +09:00
MichaelS11
57484d0899 Updated Ping to return ErrBadConn
Added TestOpenContext
Added TestFileCopyTruncate
Added ping to doTestOpen
2019-06-19 16:50:49 -07:00
Yasuhiro Matsumoto
4731d0e6ab Print type of result 2019-02-11 01:36:01 +09:00
Yasuhiro Matsumoto
5e7aedf685 Add test 2019-02-11 00:48:49 +09:00
Jesse Rittner
2fe51daa56 fixed typo 2018-12-08 08:39:01 -05:00
Jesse Rittner
5846e1aa22 adding unit test 2018-12-08 08:31:45 -05:00
mattn
873ec57005 Merge pull request #643 from akalin/zero-length-blob
Distinguish between NULL and zero-length blobs on query
2018-11-22 01:48:38 +09:00
Mario Trangoni
c46327f585 sqlite3_test.go: Simplify return err 2018-11-21 11:31:05 +01:00
Frederick Akalin
3955886e38 Add fatal message 2018-09-22 11:50:52 -07:00
Frederick Akalin
d61fdcd55b Clean up test 2018-09-22 11:26:20 -07:00
Frederick Akalin
568d682daa Add failing test 2018-09-22 11:26:20 -07:00
Frederick Akalin
25a6a28602 Actually check the value of RunTests 2018-09-22 11:26:08 -07:00
Grzegorz Marszałek
e30f9ffa3a implementation of set_authorizer interface 2018-08-25 20:25:16 +02:00
Yoann Cerda
d31a44a0bd Use t.Skip for TestUpsert to be compliant with the actual cade base. 2018-06-12 13:55:59 +02:00
Yoann Cerda
2439c84c29 fix upsert log typos. 2018-06-12 13:55:59 +02:00
Yoann Cerda
a06d1c9512 bump sqlite3 3.24.0 and add TestUpsert. 2018-06-12 13:55:59 +02:00
Gert-Jan Timmer
62b7bd5f54 fix/118
* Added TestMultiBlobs
* Removed dead code

Fixes #118
2018-06-12 11:06:00 +02:00
Lucas Manuel Rodriguez
140b80506d Add zero-length slice test 2018-05-31 08:22:26 -03:00
Lucas Manuel Rodriguez
8d6d326be6 Add nil check in bind and a test 2018-05-30 21:39:01 -03:00
mattn
397c95cd5e Merge pull request #549 from mjtrangoni/fix-linter-issues
Fix linter issues
2018-04-17 22:17:04 +09:00
Mario Trangoni
b75aefcf46 fix small codespell issue 2018-04-17 12:33:03 +02:00
Mario Trangoni
28e6f6d675 fix all gosimple issues 2018-04-17 12:21:29 +02:00
Kenneth Shaw
7174000f77 Move RegisterAggregator implementation
The SQLiteConn.RegisterAggregator implementation was defined in
sqlite3_trace.go file, which is guarded with a build constraint. This
change simply moves RegisterAggregator to the main sqlite3.go file,
and moves accompanying unit tests.

The rationale for this move is that it was not possible for downstream
using packages to use RegisterAggregator without also specifying (and
notifying the user) the 'trace' build tag.
2017-11-05 09:18:06 +07:00
mattn
132eeedb4a Merge branch 'master' into master 2017-08-30 19:57:18 +09:00
Greg Holt
b1c8062c18 Improved TestNilAndEmptyBytes
I forgot that bytes.Equals treats nil and []byte{} as equal.
2017-08-21 13:46:00 -07:00
Greg Holt
d1772f0826 Added TestNilAndEmptyBytes 2017-08-21 13:22:09 -07:00
Yasuhiro Matsumoto
6654e412c3 fix test 2017-08-02 02:06:40 +09:00
Yasuhiro Matsumoto
7133e5d7f5 ignore errors in teardown 2017-08-02 01:49:00 +09:00
Yasuhiro Matsumoto
42a4d148c2 fix tests on tip 2017-08-02 01:26:57 +09:00
Ross Light
848386d7a2 Add connection option for recursive triggers
Similar to foreign keys, the recursive triggers PRAGMA affects the
interpretation of all statements on a connection.
2017-07-09 07:32:14 -07:00
Jason Abbott
59bd281a89 Incorporate original PR 271 from https://github.com/brokensandals 2017-07-03 12:51:48 -06:00
deepilla
05123859be Don't convert Unix times to nanoseconds when querying datetime fields. Fixes #430. 2017-06-30 13:17:04 -05:00
David Anderson
0430b37250 Add support for collation sequences implemented in Go.
This allows Go programs to register custom comparison functions with
sqlite, and ORDER BY that comparator.
2017-06-08 19:14:07 -07:00