1
0
Fork 0

112 Commits (3771a1c5fbdb6e36e45a0c037d004b09439482e1)

Author SHA1 Message Date
Philip O'Toole 53e4b9ae3d ABL 3 years ago
Philip O'Toole 437d76bc1c
Update db.go 3 years ago
Philip O'Toole 393a1c67a0 Fix unit tests 3 years ago
Philip O'Toole 3ed0909746 Read-only statements in query endpoint 3 years ago
Philip O'Toole 519a91e635 Actual recovery node test passes on Linux 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 a4c4374daf Update CHANGELOG 3 years ago
Philip O'Toole 3907132761 Add detailed SQLite memstats to status/ 3 years ago
Philip O'Toole aa8df67592 DB-level unit tests pass 3 years ago
Philip O'Toole deb4dabf2e Thread through foreign key constraint controls 3 years ago
Philip O'Toole 2cad491f40 Better creation of SQLite DSNs 3 years ago
Philip O'Toole 3cee11de6f Count number of query errors 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 11da97f455 Fix typo 3 years ago
Philip O'Toole 497d3dd873 Remove obsolete foreign key constraint control 3 years ago
Philip O'Toole c086eba427 Remove debug statement 3 years ago
Philip O'Toole b83424484d Enhance SQLite database status 3 years ago
Philip O'Toole eec7494d62 DB size requires a read-write connection 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 854cf362fd Don't specify mode=rw on file open
Not sure why.
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 db1768c63f Initial implementation of two database connections 3 years ago
Philip O'Toole 90a0d397c6 Switch from mode=memory to vfs=memdb for in-mem DB 3 years ago
Philip O'Toole 791a1b0b72 Remove obsolete references to DSN 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 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 911df4c03b Don't leak a database if deserialization fails
Fixes https://github.com/rqlite/rqlite/issues/837.
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 5f5f7dbbea Sync use of DB connection
Possible, albeit simple, fix for https://github.com/rqlite/rqlite/issues/830
3 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
Philip O'Toole 18a4f38701 Add Copy() method to db layer 4 years ago
Philip O'Toole ce7a3a6912 Merge branch 'master' into no-disk-during-restore 4 years ago
Philip O'Toole 535d690d7c Tigthen up Store-level locking
Previous locking didn't look quite correct, and with the advent of the
Serialize functionality, it needs to be more precise.
4 years ago
Philip O'Toole 7900adbf53 Add Deserialize to DB layer 4 years ago
Philip O'Toole 93a78f09a0 Add call to Serialize function 4 years ago
Philip O'Toole 488a9554ea Switch to rqlite fork of go-sqlite3 4 years ago
Philip O'Toole 011bc00784
Add SQLite database page-centric size to status output 4 years ago
Philip O'Toole 6575de779d
Use Protobuf for encoding Raft Log commands
This PR changes Raft Log Entry encoding from JSON to Protobuf. Furthermore, larger Raft commands (which can result from batching SQL statements, or individually long SQL statements) are compressed before encoding.

This primary reason for this change is to reduce IO load since that is one of the largest performance bottlenecks. It will also reduce internode traffic.

Legacy JSON-encoded commands are still handled by this code, so this change is backwards-compatible with previous releases in the v5 series.
4 years ago
Philip O'Toole b4867713e4 Better variable name, Query -> SQL 4 years ago
Philip O'Toole ee9f929735 ABL 4 years ago
Philip O'Toole f961bb4e44 Fix typos and comments 4 years ago
Philip O'Toole 1075315a11 DB Query now accepts complex Statements 4 years ago
Philip O'Toole db992d1dce DB Execute now accepts complex Statements 4 years ago
Philip O'Toole 3cfb0c3910 JSON types are also text 5 years ago