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

[Refactor](inverted index) refactor inverted index compound predicates evaluate logic #38908 #40574

Merged

Commits on Sep 10, 2024

  1. [Refactor](inverted index) refactor inverted index compound predicate…

    …s evaluate logic (apache#38908)
    
    This PR addresses several key issues related to the compound condition
    support in the inverted index, and optimization for index skipping
    without returning to the table:
    
    1. **Unified Handling of `expr` and `column predicate`**:
    - Combined the processing of inverted index-related `column predicate`
    and `expr`.
    - Ensured that compound conditions involving both `column predicate` and
    `expr` are processed uniformly to reduce complexity and improve
    robustness.
    
    2. **Optimized the Execution of Compound Conditions**:
    - Removed the logic in `scan_operator` that normalized compound
    predicates by pushing down logic to `_common_expr_ctxs_push_down` where
    `expr` contexts are managed.
    - Added `evaluate_inverted_index` support to the `vexpr` and function
    layers, such as `function comparison` and `function collection_in`.
    - Introduced new data structures in `VExprContext` to store results from
    `evaluate_inverted_index`, thus facilitating quick lookup and
    application of these results during execution.
    airborne12 committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7330621 View commit details
    Browse the repository at this point in the history