Philip O'Toole
92a604c4ec
Move SQLite validity checks to db module
1 year ago
Philip O'Toole
c1ba9157c2
More unit test of nil parameters
2 years ago
Philip O'Toole
41bf265b02
Fix more handling of nil named values
2 years ago
Philip O'Toole
053bde0ed6
Upgrade to latest SQLite driver
2 years ago
Philip O'Toole
3d555a73cb
Add unit test showing malformed database issue
...
https://github.com/rqlite/rqlite/issues/1103
2 years ago
Philip O'Toole
e74bfc182a
Use new Encoder everywhere
2 years ago
Philip O'Toole
0071867e34
Don't call t.Fatal() from goroutine
...
It wouldn't abort the test anyway, so just log.
2 years ago
Eng Zer Jun
5141eff5fc
test: use `T.TempDir` to create temporary test directory
...
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.
Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
defer func() {
if err := os.RemoveAll(dir); err != nil {
t.Fatal(err)
}
}
is also tedious, but `t.TempDir` handles this for us nicely.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2 years ago
Philip O'Toole
c91ca45ba4
Expose more DB attributes
2 years ago
Philip O'Toole
a6a3567a4d
DB layer returns in-memory status
2 years ago
Philip O'Toole
d84fb85f01
Don't HTML escape JSON output
3 years ago
Philip O'Toole
869f3547b7
Update to SQLite 3.38
3 years ago
Philip O'Toole
7038b86dcb
One final named params unit test
3 years ago
Philip O'Toole
01849e77d5
Add db-level support for named paremeters
3 years ago
Philip O'Toole
239cdc04b5
Don't run heavy memory tests in parallel
...
Let's see if this helps these tests run faster, especially with -race,
and prevent CircleCI timeouts.
3 years ago
Philip O'Toole
51bb54488b
Explicitly handle column type nil (null)
3 years ago
Philip O'Toole
c639f21cde
Return time types in RFC3339 format
3 years ago
Philip O'Toole
28063bfa0d
Support timestamp field
3 years ago
Philip O'Toole
bed9dc2a49
Update db_test.go
3 years ago
Philip O'Toole
393a1c67a0
Fix unit tests
3 years ago
Philip O'Toole
2bf7638a8d
Fix debug code in test
3 years ago
Philip O'Toole
01895e501f
Serialize on-disk databases by simply reading file
...
This is safe according to https://sqlite.org/howtocorrupt.html and
avoids any sqlite3_serialize() limitations.
3 years ago
Philip O'Toole
c0b22b0d03
Update CHANGELOG
3 years ago
Philip O'Toole
08eb74493d
Add unit test for >1GiB in-memory databases
...
>2GiB in-memory are still not supported.
3 years ago
Philip O'Toole
44e47686ee
Tests that demonstrate current isolation behavior
3 years ago
Philip O'Toole
aa8df67592
DB-level unit tests pass
3 years ago
Philip O'Toole
161abb094d
Add db-level FK constraints unit test
3 years ago
Philip O'Toole
deb4dabf2e
Thread through foreign key constraint controls
3 years ago
Philip O'Toole
f7b390ab28
Adding JSON1 unit test
3 years ago
Philip O'Toole
96f9e85ee3
More concurrent query testing
3 years ago
Philip O'Toole
6c69e8a9b5
Upgrade to new compile options
3 years ago
Philip O'Toole
ea723ee830
Ping databases on open to ensure full availability
3 years ago
Philip O'Toole
953e82f7c4
Add SQLite compile-time options to status output
3 years ago
Philip O'Toole
cc8b924e64
Fix WaitGroup usage in test
3 years ago
Philip O'Toole
4f2818d037
Add concurrent query test
3 years ago
Philip O'Toole
6edff5ba24
Deal with SQLite connection "caching"?
...
https://github.com/mattn/go-sqlite3/issues/966
3 years ago
Philip O'Toole
bf51947ca9
Better error messages
3 years ago
Philip O'Toole
d101e10469
Test writing via the query connection
...
It should fail.
3 years ago
Philip O'Toole
6dc9583dab
Implement concurrent reads and writes
...
Disk doesn't support it yet, as it has not moved to WAL mode. Perhaps
wait for next release to do that.
3 years ago
Philip O'Toole
e0da96dd55
Remove support for specifying SQLite DSN
...
This is a breaking change. However this feature hasn't been tested and
allows end-users to break the system too easily. Low-level control over
the SQLite database is better done with PRAGMA commands where possible.
3 years ago
Philip O'Toole
2924ed407d
Upgrade to rqlite/go-sqlite3 v1.20.4
3 years ago
Philip O'Toole
028419af0f
Fix race in in-memory database testing
3 years ago
Philip O'Toole
1ee7a9eb17
Limit in-memory connection pool to 1 connection
...
https://github.com/mattn/go-sqlite3/issues/959#issuecomment-890283264
3 years ago
Philip O'Toole
8693694d14
Add current SQLite journal mode to status output
3 years ago
Philip O'Toole
503825dbaf
Remove Abort functionality
...
No longer relevant since each Exec and Query gets its own connection.
3 years ago
Philip O'Toole
561bb47a14
Port DB layer to sql/database
...
Empty statements now cause panic.
3 years ago
Philip O'Toole
eb8dcf74ff
Start moving to SQL layer
...
Builds.
3 years ago
Philip O'Toole
c5e67a548c
Even more records during db test
4 years ago
Philip O'Toole
665d9913bb
Add top-level Deserialize() to db layer
4 years ago
Philip O'Toole
b83b2b241d
Merge branch 'master' into no-disk-during-restore
4 years ago