Loading
Commits on Source 64
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
Josh Bleecher Snyder authored
We can concoct any scheme we like for mapping between uintptrs and mutexes. Instead of using unsafe to map between actual pointers and uintptrs, use a simple numbering scheme. Zero means nil. The next 12 ints correspond to sqlite's 12 built-in mutexes. Everything after that is an index into the mutex pool, appropriately shifted by 12. This makes vet happy and makes the pointer checker happy. It adds instructions and branches to the mutex acquisition path, which is definitely unfortunate. In exchange, though, we get simplicity, safety, and easy to reason about mutex "pointers".
-
Josh Bleecher Snyder authored
This further simplifies the code. It also removes a branch from the mutex lookup code, at the code of adding bounds checks to the static mutex lookups.
-
cznic authored
-
Josh Bleecher Snyder authored
-
Josh Bleecher Snyder authored
A+C: add myself Closes #124 See merge request !50
-
elle mouton authored
Only add the `beginMode`, set by `_txlock`, after BEGIN in non-readonly transactions. Use the `ReadOnly` member of the `driver.TxOptions` parameter to determine when and when not to add the `beginMode`.
-
Elle Mouton authored
sqlite: only add tx_lock begin directive for write txs Closes #127 See merge request !52
-
cznic authored
-
cznic authored
-
Roxy Light authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
Does not fail for 1000 cases without -race, does fail with -race. jnml@3900x:~/src/modernc.org/sqlite$ go test -v -timeout 24h -run TestIssue142 -race |& tee log-test-issue142 test binary compiled for linux/amd64 === RUN TestIssue142 all_test.go:3406: 0 all_test.go:3406: 1 all_test.go:3406: 2 all_test.go:3406: 3 all_test.go:3406: 4 all_test.go:3521: database is locked (5) (SQLITE_BUSY) --- FAIL: TestIssue142 (0.10s) FAIL exit status 1 FAIL modernc.org/sqlite 0.110s jnml@3900x:~/src/modernc.org/sqlite$ -
cznic authored
-
cznic authored
-
cznic authored
-
Sean McGivern authored
This is basically the same as the one from zombiezen.com/go/sqlite, but only supports scalar functions for now.
-
cznic authored
-
cznic authored
-
Sean McGivern authored
This allows registering custom aggregate and window functions (which provide Step, Inverse, Value, and Final callbacks). It uses basically the same interface as the zombiezen.com/go/sqlite package, which already handles some trickier cases around multiple or concurrent invocations of the same function.
-
Sean McGivern authored
This ensures that they cannot be GCed. See cznic/sqlite!54 (comment 1396299066) for more details.
-
Sean McGivern authored
Allow registering aggregate functions See merge request cznic/sqlite!54
-
cznic authored
-
cznic authored
-
cznic authored
-
Alexey Palazhchenko authored
Closes #148.
-
Alexey Palazhchenko authored
Fix a data race in `lib/mutex.go` Closes #148 See merge request !55
-
cznic authored
-
cznic authored
-
cznic authored
-
Romain LE DISEZ authored
-
Romain LE DISEZ authored
-
Romain LE DISEZ authored
Add API to sqlite3_serialize/deserialize and sqlite3_backup_* See merge request cznic/sqlite!56
-
cznic authored
=== RUN TestIssue152 === RUN TestIssue152/SELECT_1_WHERE_false === RUN TestIssue152/--_just_a_comment all_test.go:3019: sql: no Rows available --- FAIL: TestIssue152 (0.00s) --- PASS: TestIssue152/SELECT_1_WHERE_false (0.00s) --- FAIL: TestIssue152/--_just_a_comment (0.00s) panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x5b5c69] goroutine 9 [running]: testing.tRunner.func1.2({0xaeff40, 0x13d9870}) /usr/local/go/src/testing/testing.go:1526 +0x24e testing.tRunner.func1() /usr/local/go/src/testing/testing.go:1529 +0x39f panic({0xaeff40, 0x13d9870}) /usr/local/go/src/runtime/panic.go:884 +0x213 database/sql.(*Rows).close.func1() /usr/local/go/src/database/sql/sql.go:3287 +0x29 database/sql.withLock({0xf82190, 0xc0001be990}, 0xc0001fbca0) /usr/local/go/src/database/sql/sql.go:3405 +0x8c database/sql.(*Rows).close(0xc000133480, {0x0, 0x0}) /usr/local/go/src/database/sql/sql.go:3286 +0x16d database/sql.(*Rows).Close(0x4f12c6?) /usr/local/go/src/database/sql/sql.go:3270 +0x1d runtime.Goexit() /usr/local/go/src/runtime/panic.go:522 +0x177 testing.(*common).FailNow(0xc000135040) /usr/local/go/src/testing/testing.go:980 +0x4c testing.(*common).Fatal(0xc000135040, {0xc0001fbf18?, 0xc00001a0f0?, 0xb34fee?}) /usr/local/go/src/testing/testing.go:1057 +0x58 modernc.org/sqlite.testIssue152(0xc000135040, {0xb34fee, 0x11}) /home/jnml/src/modernc.org/sqlite/all_test.go:3019 +0x1d0 modernc.org/sqlite.TestIssue152.func1(0x0?) /home/jnml/src/modernc.org/sqlite/all_test.go:2998 +0x25 testing.tRunner(0xc000135040, 0xc0000638a0) /usr/local/go/src/testing/testing.go:1576 +0x10b created by testing.(*T).Run /usr/local/go/src/testing/testing.go:1629 +0x3ea exit status 2 FAIL modernc.org/sqlite 0.008s -
cznic authored
-
cznic authored
-
cznic authored
test binary compiled for linux/amd64 === RUN TestIssue153 === RUN TestIssue153/SELECT_1_WHERE_false === RUN TestIssue153/--_just_a_comment === RUN TestIssue153/#00 --- PASS: TestIssue153 (0.00s) --- PASS: TestIssue153/SELECT_1_WHERE_false (0.00s) --- PASS: TestIssue153/--_just_a_comment (0.00s) --- PASS: TestIssue153/#00 (0.00s) PASS ok modernc.org/sqlite 0.029s From the issue: > This issue might be related to this one: #152 (closed) Confirmed. -
Dan Kortschak authored
Previously ColumnTypeScanType returned the reflect.Type of [][]byte for BLOB columns, resulting in a failure to scan when the type was constructed dynamically based on this return.
-
Dan Kortschak authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
cznic authored
-
Mark Summerfield authored
-
Mark Summerfield authored
-
Mark Summerfield authored
Update CONTRIBUTORS as requested See merge request cznic/sqlite!60
-
Mark Summerfield authored
Update sqlite.go's docs for Driver.Open() See merge request cznic/sqlite!59
-
its-josh4 authored
-
its-josh4 authored
Implements `RegisterCollationUtf8` and `MustRegisterCollationUtf8` Fixes #163 See merge request cznic/sqlite!61