Implement CQL2-JSON AST for datetime index selection#593
Open
YuriZmytrakov wants to merge 3 commits intomainfrom
Open
Implement CQL2-JSON AST for datetime index selection#593YuriZmytrakov wants to merge 3 commits intomainfrom
YuriZmytrakov wants to merge 3 commits intomainfrom
Conversation
cfce4c6 to
610732b
Compare
added 3 commits
February 4, 2026 16:27
- Added Abstract Syntax Tree (AST) representation for CQL2 queries replacing dictionary-based queries - Implemented datetime extraction logic to identify datetime, start_datetime, and end_datetime - Support for complex queries with logical operators, spatial operations, and property comparisons - Improved query parsing and maintainability of CQL2-JSON filter requests
610732b to
beba69a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR implements a CQL2 Abstract Syntax Tree (AST) structure for CQL2 Filters to enable better parameter access for index selection in search queries:
The AST-based approach makes it easier to parse CQL2 filters, particularly for identifying datetime constraints (datetime, start_datetime, end_datetime) to optimize search performance through proper index selection.
Examples of AST nodes:
AND:
OR:
NOT:
EQ (=):
NEQ (<>)
LT (<)
LTE (<=)
GT (>)
GTE (>=)
IS_NULL
LIKE
BETWEEN
IN
S_INTERSECTS
S_CONTAINS
S_WITHIN
S_DISJOINT
DateTimeRange
DateTimeExactNode
PR Checklist:
pre-commit run --all-files)make test)