Loading
Commits on Source 38
-
Walter Wanderley authored
-
Walter Wanderley authored
feat: pre-update hooks See merge request !80
-
Silvio Moioli authored
This is useful in the following situation: * `query` function gets called * SQL query is executed correctly, the `r` result (Rows) is set * after that, but before `query` returns, `ctx` is canceled * `interruptOnDone`’s goroutine catches the cancelation and signals the completion back to `query` by turning the atomic signaling variable `done` to 1 * `query` finishes and returns * the anonymous deferred function patched here is popped off the deferred stack and executed The current code, seeing that `done` is not zero, will overwrite `r` (Rows) with `nil`, and that implies the Rows can never be `Close`d. Unclosed Rows mean that read transactions never finish, and that blocks the checkpointer process and cause the WAL to grow unbounded, and other read queries to slow down unbounded. https://sqlite.org/wal.html#avoiding_excessively_large_wal_files ("Checkpoint Starvation")
-
Silvio Moioli authored
Signed-off-by:Silvio Moioli <silvio@moioli.net>
-
Silvio Moioli authored
Signed-off-by:
Silvio Moioli <silvio@moioli.net> Co-authored-by:
Alejandro Ruiz <alejandro.ruiz@suse.com>
-
Silvio Moioli authored
Close Rows object if the context is canceled before deferred function See merge request !81
-
cznic authored
-
cznic authored
-
Adrian Witas authored
-
Adrian Witas authored
- Introduce vtab subpackage (modernc.org/sqlite/vtab) exposing Module, Table,... See merge request !84
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
Josh Bleecher Snyder authored
The previous code was subject to a TOCTOU race: the atomic.AddInt32 in the select statement could succeed, but then context switch away before actually calling c.interrupt. The actual call to c.interrupt could end up occurring later, interrupting an unrelated subsequent query. Fixes #241
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
Martin Fischer authored
Since _time_format=sqlite was introduced in 064df839 it has used (as described in that commit message): > the time package format "2006-01-02 15:04:05.999999999-07:00". > This is the format mattn/go-sqlite3 uses and is format 4 at > https://sqlite.org/lang_datefunc.html#time_values. A couple months later this parameter was documented in 8e27ffc8 as corresponding to format 7 which is not and has never been the case (format 7 has a T between the date and the time).
-
Adrian Witas authored
- Enable configurable vtab options and add MATCH coverage. Expose Context.Config alongside EnableConstraintSupport, wire sqlite3_vtab_config through vtab create/connect, and document the new hook. Add a unit test ensuring MATCH constraints work when enabled.
-
Adrian Witas authored
-
cznic authored
-
cznic authored