Grzegorz Marszałek
df0c034d7c
clearer const formatting
...
with comments what const are used for what
2018-08-30 10:25:56 +02:00
Grzegorz Marszałek
e30f9ffa3a
implementation of set_authorizer interface
2018-08-25 20:25:16 +02:00
Collin Van Dyck
b3511bfdd7
Ensure that SqliteStmt.closed property is guarded.
...
Because the closed property of the SQLiteRows's *SqliteStmt
was not guarded, it was causing an issue during context
cancellation.
be424d27ac/sqlite3.go (L1785-L1796)
When a statement is performing a query(), if it determines that
the context has been canceled, it will launch a goroutine that
closes the resulting driver.Rows if it's not already completed.
If the driver.Rows is not done (and the context has been canceled),
it will interrupt the connection and more importantly, perform
a rows.Close(). The method rows.Close() guards the closed bool with
a sync.Mutex to set it to true.
If a reader is reading from the SqliteRow, it will call Next()
and that performs this check:
be424d27ac/sqlite3.go (L1915-L1917)
Because this is not guarded, a data race ensues, and this was
actually caught by the Go race detector recently.
I didn't include a test case here because the fix seemed
straightforward enough and because race conditions are hard
to test for. It's been verified in another program that this
fixes the issue. If tests should be provided I'm more than
happy to do so.
2018-07-19 11:16:09 +02:00
Gert-Jan Timmer
62b7bd5f54
fix/118
...
* Added TestMultiBlobs
* Removed dead code
Fixes #118
2018-06-12 11:06:00 +02:00
Zachary Gramana
f268891078
Adds GetFilename (sqlite3_db_filename) to SqliteConn
2018-06-12 10:33:32 +02:00
mattn
4218441e44
Merge pull request #586 from mattn/feature/userauth
...
Feature/userauth
2018-06-08 10:05:37 +09:00
Gert-Jan Timmer
7337e65c27
ADD: User Authentication Password Encoders
...
Allow user to choose how to encode passwords with connection string overrides of embedded `sqlite_crypt` function.
2018-06-05 13:45:32 +02:00
Gert-Jan Timmer
11627e4483
Implemented goconvey for User Authentication Tests
...
Reference #580
2018-06-04 15:50:00 +02:00
Gert-Jan Timmer
0e289439a2
Update User Authentication
...
* Update bindings
* Add user authentication sql functions
Reference #579
2018-06-01 11:28:04 +02:00
Gert-Jan Timmer
4a33fcc1d2
Stash
...
[ci skip]
2018-05-31 16:42:03 +02:00
Gert-Jan Timmer
183e7d61d1
UPD: User Authentication
...
Implemented table check; only activate User Authentication on a database which has no UA enabled.
Closes #582
2018-05-31 14:55:22 +02:00
Lucas Manuel Rodriguez
8d6d326be6
Add nil check in bind and a test
2018-05-30 21:39:01 -03:00
Gert-Jan Timmer
6ae7f98274
ADD: User authentication
...
* User Authentication Implementation
* Rename file to conform to fileformat `sqlite3_*_omit.go`
* Updated sqlite3-binding.* with new upgrade tool
* Add: callbackRetNil required for error type return because of adding `RegisterFunc`s directly on the connection.
* Add: TestCreateAuthDatabase
2018-05-30 23:48:02 +02:00
Gert-Jan Timmer
42560ec600
Fix: Display of secure_delete error message
2018-05-29 14:57:40 +02:00
Gert-Jan Timmer
d6b854186d
Fix: Condition of queryOnly Variable
2018-05-29 14:57:25 +02:00
Gert-Jan Timmer
4857d602fe
Fix: Connection DSN Keys
...
* Conform keys to match PRAGMA
* UPD: README
* Fix error of _auto_vacuum
* Fix error of _case_sensitive_like
* Fix error of _locking_mode
* Fix error of _secure_delete
2018-05-29 14:11:49 +02:00
Gert-Jan Timmer
24cbd402e4
ADD: PRAGMA writable_schema
2018-05-29 14:01:33 +02:00
Gert-Jan Timmer
cb041405c6
ADD: PRAGMA synchronous
2018-05-29 13:55:31 +02:00
Gert-Jan Timmer
6a80b70b7a
Add: PRAGMA secure_delete
...
ADD: Connection PRAGMA
ADD: Build tag for secure_delete mode: FAST
2018-05-29 13:41:52 +02:00
Gert-Jan Timmer
764e391156
ADD: PRAGMA query_only
2018-05-29 13:29:06 +02:00
Gert-Jan Timmer
9e79299c09
Add: Documentation for opening as Immutable
2018-05-29 13:23:39 +02:00
Gert-Jan Timmer
f14a7566f9
ADD: PRAGMA locking_mode
2018-05-29 13:19:40 +02:00
Gert-Jan Timmer
e02bbc0381
ADD: PRAGMA journal_mode
2018-05-29 13:13:38 +02:00
Gert-Jan Timmer
a159b5d1ab
Fix: String ToLower for PRAGMA's
2018-05-29 13:06:07 +02:00
Gert-Jan Timmer
46fb6884f2
Update README
...
ADD: Comments for SQLite Access Mode
ADD: Comments for SQLite Shared-Cache Mode
UPD: README
* Add Access Mode in Connection String Table
2018-05-29 13:02:28 +02:00
Gert-Jan Timmer
a5150a8e01
ADD: Additional Copyright line
2018-05-29 12:20:11 +02:00
Gert-Jan Timmer
cac1feb8c7
Update Comments
2018-05-29 12:19:57 +02:00
Gert-Jan Timmer
a4b55e1a40
ADD: PRAGMA ignore_check_constraints
2018-05-29 12:19:46 +02:00
Gert-Jan Timmer
37d3ff3d86
Update Comments
2018-05-29 12:10:05 +02:00
Gert-Jan Timmer
7393095f07
ADD: PRAGMA defer_foreign_keys
2018-05-29 12:09:56 +02:00
Gert-Jan Timmer
4ab48f1935
Update Recursive Triggers
...
ADD: Multiple Key
2018-05-29 12:03:18 +02:00
Gert-Jan Timmer
bb42c28ba5
Fix: pkey
...
Ensure pkey is empty for next condition
2018-05-29 12:01:25 +02:00
Gert-Jan Timmer
afd179bd93
Update Foreign Keys PRAGMA
...
ADD: Multiple key
2018-05-29 11:58:29 +02:00
Gert-Jan Timmer
f087cd79b2
Update Busy Timeout PRAGMA
...
ADD: multiple key
2018-05-29 11:54:47 +02:00
Gert-Jan Timmer
95237557d2
ADD: PRAGMA case_sensitive_like
...
ADD: Comments
UPD: README
2018-05-29 11:46:53 +02:00
Gert-Jan Timmer
efc41bcd27
Update Connection Options
...
* Rewrite order of options
* ADD: PRAGMA auto_vacuum
* ADD: Multi Boolean values
* UPD: README
* FIX: Case-Sensitive values
* Reduced code for:
- foreign_keys
- recursive_triggers
2018-05-29 11:34:28 +02:00
Gert-Jan Timmer
420bfbcac8
fmt update
...
Fix: Placed all +build tags in the same location
Fix: Split CFLAGS, LDFLAGS into seperate lines for readability and lookup
Fix: Placed empty line between copyright comments and build tags for readability
Fix: Placed OS specfic cgo flags at the end if the cgo sections contains multiple lines.
2018-05-27 00:05:45 +02:00
mattn
2614d46676
Merge branch 'master' into fix/wal
2018-05-24 10:35:25 +09:00
mattn
323a32be5a
Merge pull request #564 from GJRTimmer/fix/213
...
Fix #213
2018-05-24 10:34:43 +09:00
Gert-Jan Timmer
347aa38e98
ADD: SQLITE_OMIT_DEPRECATED
2018-05-23 23:10:05 +02:00
Gert-Jan Timmer
46cd598502
ADD: SQLITE_DEFAULT_WAL_SYNCHRONOUS
2018-05-23 23:05:26 +02:00
Gert-Jan Timmer
79bf9ba26b
ADD: SQLITE_ENABLE_UPDATE_DELETE_LIMIT
...
Fixes #213
2018-05-23 22:43:42 +02:00
mattn
a72efd674f
Merge pull request #540 from mattn/open-mode
...
add _mutex flag to specify SQLITE_OPEN_NOMUTEX or SQLITE_OPEN_FULLMUTEX
2018-04-19 16:32:57 +09:00
Yasuhiro Matsumoto
aaf32cc923
disable pread64/pwrite64 on android
2018-04-18 10:36:16 +09: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
4bde157d91
fix all goconst issues
2018-04-17 12:33:03 +02:00
Mario Trangoni
847660225d
fix all unconvert issues
2018-04-17 10:55:42 +02:00
Yasuhiro Matsumoto
57ca83473c
add _mutex flag to specify SQLITE_OPEN_NOMUTEX or SQLITE_OPEN_FULLMUTEX
2018-03-16 21:40:16 +09:00
mattn
696e2e43cb
Merge pull request #530 from navytux/y/no-go-if-notneeded
...
Don't spawn interrupt goroutine if we know that context cannot be canceled
2018-02-18 22:15:52 +09:00
Bas van Beek
bd9ec0844c
only enable pread/pwrite for linux. fixes #533 and fixes #532
2018-02-17 21:38:35 +01:00