-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attempt to convert pcli
's ORM to use rusqlite
instead of sqlx
#2372
Conversation
This allows the implementor of AsyncRead/AsyncWrite/Read/Write to choose what iterator or stream is returned, which is useful when using rusqlite, because rusqlite's iterators are `!Send`, so we need to customize that bound when returning a `dyn Iterator` (i.e. it can't be hardcoded to `Send` in the trait definition).
We will incrementally fill in the converted functionality
@@ -0,0 +1,119 @@ | |||
-- The hash of this schema file |
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.
Does this need to live inline with the Rust code? Could we keep it in view/schema/view.sql
(rather than "migrations")?
|
bcccc20
to
84fe0c0
Compare
For posterity: this was caused by not using the |
Uses the new storage init logic [0] to store sync state in memory. This will cause galileo to sync at service start to memory, and abjure any on-disk storage. Hat tip to @plaidfinch for explaining the type inference required by the view service changes. [0] penumbra-zone/penumbra#2372
Uses the new storage init logic [0] to store sync state in memory. This will cause galileo to sync at service start to memory, and abjure any on-disk storage. Hat tip to @plaidfinch for explaining the type inference required by the view service changes. [0] penumbra-zone/penumbra#2372
Uses the new storage init logic [0] to store sync state in memory. This will cause galileo to sync at service start to memory, and abjure any on-disk storage. Hat tip to @plaidfinch for explaining the type inference required by the view service changes. [0] penumbra-zone/penumbra#2372
Arc<Mutex<rusqlite::Connection>>
(this is temporary)pcli
,pclientd
, andgalileo
(things might be really slow because of the global mutex, especially galileo)Arc<Mutex<...>>
with anr2d2::Pool<r2d2_sqlite::SqliteConnectionManager>
, so we can (hopefully) read while writing, etc.Might need to re-enable table-level locking using the "shared cache" like we did previously even though rusqlite (and the sqlite docs) warn against it? Consider this carefully...