-
Notifications
You must be signed in to change notification settings - Fork 36.4k
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
wallet: Make BDB support optional #20202
Conversation
Concept ACK. |
return MakeUnique<BerkeleyDatabase>(std::make_shared<BerkeleyEnvironment>(), ""); | ||
#elif USE_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.
For a followup PR...
Should we be testing with both mock dbs when bdb+sqlite are built?
28457c4
to
e4a48df
Compare
e4a48df
to
bb93bf6
Compare
Concept ACK |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
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.
Concept ACK. Tested bb93bf6 on macOS.
This breaks a whole bunch of functional tests. It would be better if those are skipped.
Having this configuration on one of the CI machines makes sense to me as well. As we work towards #20160 all tests should (also) use descriptor wallets. Perhaps merging #18788 first makes that easier.
configure.ac
Outdated
@@ -1746,6 +1762,7 @@ echo " multiprocess = $build_multiprocess" | |||
echo " with wallet = $enable_wallet" | |||
if test "x$enable_wallet" != "xno"; then | |||
echo " with sqlite = $use_sqlite" | |||
echo " with bdb = $use_bdb" |
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.
bb93bf6: nit: move =
to the right a bit:
with wallet = yes
with sqlite = yes
with bdb = no
It'd be a lot easier if tests used the MiniWallet. I think we can do those as a followup. |
IMO PRs shouldn't be merged with tests broken... |
|
Instead of prompting users to specify I think that this would be really helpful in our test framework to ensure that tests that shouldn't be restricted to one wallet type do pass with both. So we can stop making tests that are dependent on legacy wallet behavior. |
d23454f
to
7f518a7
Compare
7b275da
to
ba0f769
Compare
ba0f769
to
d972780
Compare
d972780
to
d52f502
Compare
Code review ACK d52f502 |
This is missing a line in |
b87caf1 test: add is_bdb_compiled helper (Sjors Provoost) Pull request description: Followup for #20202, needed by #16546. Allow the functional test suite to skip tests that require BDB, as well as introduce specific logic to handle whether BDB support is enabled or not. It follows the same pattern as `skip_if_no_sqlite` and `is_sqlite_compiled`. ACKs for top commit: laanwj: Code review ACK b87caf1 Tree-SHA512: e84fb22e017b28f0f75d17e5368fcba22a893484b31b12082cfe9354e6fbd566daf34b3b82f7deb7205b2061c9c61538e402df000e2f05428affae6dbea05c5e
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.
How can I be sure which wallet to add?
Github-Pull: bitcoin#20202 Rebased-From: b33af48
Github-Pull: bitcoin#20202 Rebased-From: a58b719
Github-Pull: bitcoin#20202 Rebased-From: 6ebc41b
Github-Pull: bitcoin#20202 Rebased-From: 71e40b3
Github-Pull: bitcoin#20202 Rebased-From: ee47f11
Github-Pull: bitcoin#20202 Rebased-From: 99309ab
Github-Pull: bitcoin#20202 Rebased-From: d52f502
Adds a
--without-bdb
option toconfigure
which disables the compilation of the BDB stuff. Legacy wallets will not be created when BDB is not compiled. A legacy-sqlite wallet can be loaded, but we will not create them.Based on #20156 to resolve the situation where both
--without-sqlite
and--without-bdb
are provided. In that case, the wallet is disabled and--disable-wallet
is effectively set.