-
Notifications
You must be signed in to change notification settings - Fork 37
SQL Merkle State #160
SQL Merkle State #160
Conversation
2029efd to
89d018a
Compare
|
|
||
| /// Set the path for the Sqlite database. | ||
| /// | ||
| /// This is a require field. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
require => required
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
89d018a to
ec07fe7
Compare
ec07fe7 to
de4edd5
Compare
| /// | ||
| /// This struct provides the backend implementation details for SQLite databases. | ||
| #[derive(Clone)] | ||
| pub struct Sqlite { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be called SqliteBackend, being the primary purpose is an impl of Backend for sqlite?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was mirroring the diesel back-end naming convention. I would be open to changing it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
de4edd5 to
c172af9
Compare
This commit introduces the transact-specific Backend and Connection trait, that can be used for SQL implementations. These traits help to minimize the exposure of dependencies to the transact public API. The SqliteBackend includes a builder and a set of enums for configuring the connection pool instance. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
This change includes a MigrationManager trait in order to provide migration capabilities to a Backend. It also includes an implementation for SqliteBackend. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
This struct provides the SQL implementation of MerkleState, via the state::Read, Write traits, as well as the MerkleRadixLeafReader trait. Likewise, the integration tests have been added for this implementation. This includes a new test that allows for comparisons between MerkleState implementations only using the Read and Write traits. It omits the state::Prune trait for now (this will be implemented in a future commit). Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
c172af9 to
6efc3a8
Compare
This PR adds an implementation of state that applies a Merkle-Radix tree using a SQL database as its back-end. This PR includes a diesel/SQLite implementation
Experimental feature implementation of RFC 10