Introduce the SchemaManagerFactory
interface
#5876
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… to allow apps to override the default schema managers
Summary
This PR introduces a new interface
SchemaManagerFactory
that can be implemented by apps that need to override the schema manager. It also ships with two implementations:LegacySchemaManagerFactory
This factory implements the current and deprecated way of letting the driver create the schema manager. If no factory is configured, we fall back to this implementation.
DefaultSchemaManagerFactory
This factory implements the new way of letting the platform class create the schema manager. This way was introduced by #5458. Configuring
DefaultSchemaManagerFactory
as factory will allow apps to opt-in to the behavior that we have on the 4.0.x branch.The factory can be configured through the
Configuration
class: