-
Notifications
You must be signed in to change notification settings - Fork 368
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
Implement multiple Backing Store using Generics #765
Conversation
I had to change the toolchain to version 1.61.0 because of |
@romanz Also, |
@cberner will definitely be interested in this! |
This is still incomplete as for instance in redb. I haven't been able to get a prefix iterator so far. For instance in the test:
It returns everything after I have been trying to track the prefix manually, but so far have been unsuccessful. It's very slow. However; I'm currently trying a new way of tracking prefixs. |
Unfortunately, we want to support Debian stable which only has 1.48. I personally wouldn't mind having higher MSRV with opt-in feature but it needs CI modified to use 1.48 to test without it and use 1.61 with it. |
Many thanks for the contribution! |
32be238
to
e96e7cd
Compare
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.
- Please rebase over latest
master
. - Make sure the build & tests pass at https://github.com/romanz/electrs/actions/runs/2933929796.
- Could you please publish mainnet indexing performance (e.g. Idea: publish electrs index/query benchmarks #567 (comment))?
e96e7cd
to
5f12af4
Compare
@romanz I rebased on master. The CI is failing because:
Can I get the |
1a8d7a4
to
f914709
Compare
f914709
to
fd8a643
Compare
is this PR still being worked on? i think it would be useful to allow for different databases (maybe helps to optimize for hdd/ssd performance), but instead of choosing one at compile time, a command line flag (choose at runtime) would be better (if you use a precompiled release you can still choose) and use feature flags to choose which database backend get compiled in, especially useful for big dependencies or ones that bind to C code |
@antonilol I think I can make to that backed-in storage backends are selectable using a CLI flag. I think we should do this after merging this PR first. I still need to enhance the redb logic. I'll try to work on that sometime soon. |
how is this pr going? are you still working on it, and which things are still missing/planned (like the ones you named here, but maybe more)? |
Closing due to inactivity. |
This PR adds different Backing Database Stores for the Index Structures. This is done using generics. Each Backing Store is behind a feature flag and its dependencies only compile when this features is enabled.