-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Feature Request
Description:
Create a plugin API that allows developers to define their own custom refresh strategies beyond the default REFRESH MATERIALIZED VIEW command.
Use Case:
This would enable support for other database systems (e.g., Redshift, BigQuery) or custom refresh logic (e.g., incremental updates via INSERT/DELETE) by allowing users to extend the gem's functionality.
Proposed Solution:
- Define a base strategy class with a simple interface (e.g., a
refreshmethod). - Allow a
MatViewDefinitionto specify a custom strategy class. MatViewRefreshJobwould then instantiate and call the specified strategy class instead of its default logic.
RSpec Tests:
- Create a dummy custom refresh strategy class in the test suite.
- Configure a view definition to use this custom strategy.
- Trigger a refresh and verify that the custom strategy's
refreshmethod was called, not the default one.
Checklist:
- I have searched for a similar feature request and didn't find any duplicates.
- I have included all the required information.
- I have tagged the issue with the label "enhancement".
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
Backlog