Skip to content
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

Data API filter refactor, logicalExpression #1389

Closed
Yuqi-Du opened this issue Sep 3, 2024 · 0 comments
Closed

Data API filter refactor, logicalExpression #1389

Yuqi-Du opened this issue Sep 3, 2024 · 0 comments
Assignees

Comments

@Yuqi-Du
Copy link
Contributor

Yuqi-Du commented Sep 3, 2024

Improve Encapsulation.
Currently we have this recursive defined data structure LogicalExpression, basically because we need to keep track of the AND/OR relation of filter entries. And, we don’t want to lose these AND/OR information, so we just modify this LogicalExpression in-place, and pass down to operation level, and construct CQL query from it.

However, this is breaking encapsulation since DB operation should not know LogicalExpression which is in the API level.

In order to improve the encapsulation, we need to refactor the FilterMatcher, FilterMatcherRule, FilterMatcherRules, FilterResolver..etc.
Basically, we need similar data structure to represent logical relation, and it will be capture and converted when we resolve API filters to DB filters.

@Yuqi-Du Yuqi-Du self-assigned this Sep 3, 2024
@Yuqi-Du Yuqi-Du closed this as completed Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant