-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Preserving replacement_open functionality #6449
Conversation
src/include/duckdb/main/config.hpp
Outdated
@@ -146,6 +146,8 @@ struct DBConfigOptions { | |||
bool immediate_transaction_mode = false; | |||
//! The set of unrecognized (other) options | |||
unordered_map<string, Value> unrecognized_options; | |||
//! storage_init extension hook is used only for configuration and does not provide a storage_extension | |||
bool extension_init_is_config_only = false; |
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.
Having this be a global option means we cannot use extensions that provide a storage back-end (e.g. SQLite) together with extensions that do not. Perhaps we could instead check if the given storage extension provides the attach
and create_transaction_manager
functions?
…storage_extension
…storage_extension
…to config-workaround
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.
Thanks! LGTM
In MotherDuck's next release, we are transitioning from replacement_open to storage_init. However, we don't want to introduce a full-blown storage extension yet. This PR allows us the storage_init as a config-only replacement hook (preserving the previous functionality...as a stepping stone in our transition).