Loading
Commits on Source 20
-
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