Skip to content

fix: modify ExpressionFilter.canVectorizeMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan#19245

Open
clintropolis wants to merge 2 commits intoapache:masterfrom
clintropolis:fix-expr-vectorization-checks
Open

fix: modify ExpressionFilter.canVectorizeMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan#19245
clintropolis wants to merge 2 commits intoapache:masterfrom
clintropolis:fix-expr-vectorization-checks

Conversation

@clintropolis
Copy link
Copy Markdown
Member

Description

changes:

  • ExpressionFilter.canVectorizeMatcher and AggregatorUtil.canVectorize now use ExpressionPlanner.plan to check for Trait.VECTORIZABLE instead of calling Expr.canVectorize directly
  • updated javadoc for Expr.canVectorize to indicate that it alone isn't sufficient to decide if vector processing should be used
  • update BaseFilterTest.assertFilterMatchesSkipVectorize to now assert that the cursor factory is not vectorizable (or not a ColumnarFrameCursorFactory) so that we do not accidentally skip vectorization for things that are vectorizable, which would have caught the bug for ExpressionFilter, fixed up tests that were incorrectly skipping vector coverage
  • update AggregatorUtilTest to cover canVectorize

…ze to use ExpressionPlanner.plan

changes:
* `ExpressionFilter.canVectorizeMatcher` and `AggregatorUtil.canVectorize` now use `ExpressionPlanner.plan` to check for `Trait.VECTORIZABLE` instead of calling `Expr.canVectorize` directly
* updated javadoc for `Expr.canVectorize` to indicate that it alone isn't sufficient to decide if vector processing should be used
* update `BaseFilterTest.assertFilterMatchesSkipVectorize` to now assert that the cursor factory is not vectorizable (or not a `ColumnarFrameCursorFactory`) so that we do not accidentally skip vectorization for things that are vectorizable, which would have caught the bug for `ExpressionFilter`, fixed up tests that were incorrectly skipping vector coverage

* update `AggregatorUtilTest` to cover `canVectorize`
@clintropolis clintropolis changed the title fix ExpressionFilter.canVectorizMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan fix: fix ExpressionFilter.canVectorizMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan Apr 1, 2026
@clintropolis clintropolis changed the title fix: fix ExpressionFilter.canVectorizMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan fix: modify ExpressionFilter.canVectorizMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan Apr 1, 2026
@clintropolis clintropolis changed the title fix: modify ExpressionFilter.canVectorizMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan fix: modify ExpressionFilter.canVectorizeMatcher and AggregatorUtil.canVectorize to use ExpressionPlanner.plan Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants