1
0
Fork 0

280 Commits (d90ea2e6b1082473b94055dbbd904a1186dd9fd2)

Author SHA1 Message Date
Philip O Toole 170a916dd5 fmt and lint fixes 9 years ago
Philip O Toole 9c02e1edb6 Make it easier to understand DSN 9 years ago
Philip O Toole 4ff67c2c90 Support in-memory databases 9 years ago
Philip O Toole 2ba973d7b7 Allow control of time display from db layer
This is not a great solution, and somewhat of a hack to make
unit-testing easier. However, it will allow control over "time"
in the response in the future.
9 years ago
Philip O'Toole a8a03ddb07 Fix comment typo 9 years ago
Philip O Toole 7c75bd9494 Finalize name for sqlite file 9 years ago
Philip O Toole 17aea81d75 Add Raft statistics 9 years ago
Philip O Toole ee4ffe1d15 Comment cleanups 9 years ago
Philip O Toole b638fa7b87 Finish snapshot restore
Compiles, but not tested.
9 years ago
Philip O Toole a47da4065f Correctly handle database removal 9 years ago
Philip O Toole 35803cdf75 Shutdown Store on exit 9 years ago
Philip O Toole a6cb950ff4 Allow DSN config at command line
It might still need to be richer, so end-users could specify an
in-memory SQLite database. Specifying a DSN would require the user
to supply the full path to the SQLite database. This is OK. However,
the code then needs to be able to parse out the path to the database
so it can remove it before start up.
9 years ago
Philip O Toole 179ad650f3 Apply() and Snapshot NOT called concurrently
No reason to worry about this.
9 years ago
Philip O Toole 2ebec9b973 Start adding support for snapshots
This shows that passing the database into the Raft module is probably
not going to work, since the database could be opened in two ways -
 directly at startup, and be completely restored from the log, or with
a combination of restoring from a snapshot, followed by the remaining
log entries. In both cases the database must be opened using the
requested DSN settings.

A detailed config object for controlling SQLite behaviour, is probably
best, and it should be passed to the Raft store on start up.

Finally, file-level copying of the SQLite file can only take place if
no transaction is in effect. This might be handled by the use of a
RWLock. The write-lock is taken during Execute() and Snapshot, but
the Read lock is taken during Query(). Unfortunately this may reduce
the concurrency of inserts and updates. Perhaps the Backup call on
the Go SQLite library might be better, but it might be slow.
9 years ago
Philip O Toole d30d2fffa4 Query path now works 9 years ago
Philip O Toole ab71c3bdd2 Execute working now 9 years ago
Philip O Toole 639264db4f Hook up handleExecute 9 years ago
Philip O Toole 28f4a73773 Simplify use of ApplyFuture 9 years ago
Philip O Toole 3ab8e01d91 Start threading ApplyFuture for Execute response 9 years ago
Philip O Toole d70a9cb0ed Push database into Raft store
Allows the DSN to be fully set, if requested.
9 years ago
Philip O'Toole 99f5e63f49 Build fixes 9 years ago
Philip O'Toole 73d880c93c Start support for SQLite DSN
This isn't complete, since it prepends the Raft directory to the
filename, which would break a DSN.
9 years ago
Philip O'Toole 77b9077d9d Pass Execute results up
Doesn't compile.
9 years ago
Philip O'Toole 63c74cabea Fully build with new db package 9 years ago
Philip O'Toole f6984f4134 Small wrapper around sqlite3 9 years ago
Philip O'Toole 4f110e26ea Update README with desired behavior 9 years ago
Philip O'Toole b95c84d16e Add database interface to Store
CREATE TABLE now works.
9 years ago
Philip O'Toole e43b0bc421 Initialize SQLite store 9 years ago
Philip O'Toole 12aef34625 Start integrating actual SQLite support
Builds without error.
9 years ago
Philip O'Toole d7d46f79c0 Start refactor for Hashicorp
Heavily influenced by hraftd. rqlited builds without error.
9 years ago