-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
remove extractionFn from equality, null, and range filters #14612
Merged
gianm
merged 5 commits into
apache:master
from
clintropolis:remove-extractionFn-for-new-filters
Jul 19, 2023
Merged
remove extractionFn from equality, null, and range filters #14612
gianm
merged 5 commits into
apache:master
from
clintropolis:remove-extractionFn-for-new-filters
Jul 19, 2023
Conversation
This file contains 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
changes: * EqualityFilter, NullFilter, and RangeFilter no longer support extractionFn * SQL planner will use ExpressionFilter in the small number of cases where an extractionFn would have been used if sqlUseBoundsAndSelectors is set to false instead of equality/null/range filters * fix bugs and add tests with serde, equals, and cache key for null, equality, and range filters
clintropolis
force-pushed
the
remove-extractionFn-for-new-filters
branch
from
July 19, 2023 06:43
313e81f
to
95fab41
Compare
gianm
approved these changes
Jul 19, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Glad to see things moving away from extractionFn
and towards expressions.
gianm
added a commit
to gianm/druid
that referenced
this pull request
Jul 19, 2023
1) Consolidate duplicate code related to Expressions#buildTimeFloorFilter. 2) Cleaner logic in Expressions#toSimpleLeafFilter: choose bounds vs range filter based solely on plannerContext.isUseBoundsAndSelectors, not also considering rhs kind. Use parsed rhs in both paths (except for numerics in the bound path). 3) Fix ArrayContains, ArrayOverlap to avoid equality filters when there is an extractionFn present. Fixes a bug introduced in apache#14612.
clintropolis
added a commit
to clintropolis/druid
that referenced
this pull request
Jul 19, 2023
) * remove extractionFn from equality, null, and range filters changes: * EqualityFilter, NullFilter, and RangeFilter no longer support extractionFn * SQL planner will use ExpressionFilter in the small number of cases where an extractionFn would have been used if sqlUseBoundsAndSelectors is set to false instead of equality/null/range filters * fix bugs and add tests with serde, equals, and cache key for null, equality, and range filters * test coverage fixes bugs * adjust * adjust again * so persnickety
clintropolis
added a commit
that referenced
this pull request
Jul 19, 2023
…14621) * remove extractionFn from equality, null, and range filters changes: * EqualityFilter, NullFilter, and RangeFilter no longer support extractionFn * SQL planner will use ExpressionFilter in the small number of cases where an extractionFn would have been used if sqlUseBoundsAndSelectors is set to false instead of equality/null/range filters * fix bugs and add tests with serde, equals, and cache key for null, equality, and range filters * test coverage fixes bugs * adjust * adjust again * so persnickety
gianm
added a commit
that referenced
this pull request
Jul 20, 2023
…14619) * Simplify bounds/range vs selectors/equality logic in SQL planning. 1) Consolidate duplicate code related to Expressions#buildTimeFloorFilter. 2) Cleaner logic in Expressions#toSimpleLeafFilter: choose bounds vs range filter based solely on plannerContext.isUseBoundsAndSelectors, not also considering rhs kind. Use parsed rhs in both paths (except for numerics in the bound path). 3) Fix ArrayContains, ArrayOverlap to avoid equality filters when there is an extractionFn present. Fixes a bug introduced in #14612. * Avoid sending nonprimitives down the bound path.
gianm
added a commit
to gianm/druid
that referenced
this pull request
Jul 20, 2023
…pache#14619) * Simplify bounds/range vs selectors/equality logic in SQL planning. 1) Consolidate duplicate code related to Expressions#buildTimeFloorFilter. 2) Cleaner logic in Expressions#toSimpleLeafFilter: choose bounds vs range filter based solely on plannerContext.isUseBoundsAndSelectors, not also considering rhs kind. Use parsed rhs in both paths (except for numerics in the bound path). 3) Fix ArrayContains, ArrayOverlap to avoid equality filters when there is an extractionFn present. Fixes a bug introduced in apache#14612. * Avoid sending nonprimitives down the bound path.
abhishekagarwal87
pushed a commit
that referenced
this pull request
Jul 21, 2023
…14619) (#14624) * Simplify bounds/range vs selectors/equality logic in SQL planning. 1) Consolidate duplicate code related to Expressions#buildTimeFloorFilter. 2) Cleaner logic in Expressions#toSimpleLeafFilter: choose bounds vs range filter based solely on plannerContext.isUseBoundsAndSelectors, not also considering rhs kind. Use parsed rhs in both paths (except for numerics in the bound path). 3) Fix ArrayContains, ArrayOverlap to avoid equality filters when there is an extractionFn present. Fixes a bug introduced in #14612. * Avoid sending nonprimitives down the bound path.
sergioferragut
pushed a commit
to sergioferragut/druid
that referenced
this pull request
Jul 21, 2023
) * remove extractionFn from equality, null, and range filters changes: * EqualityFilter, NullFilter, and RangeFilter no longer support extractionFn * SQL planner will use ExpressionFilter in the small number of cases where an extractionFn would have been used if sqlUseBoundsAndSelectors is set to false instead of equality/null/range filters * fix bugs and add tests with serde, equals, and cache key for null, equality, and range filters * test coverage fixes bugs * adjust * adjust again * so persnickety
sergioferragut
pushed a commit
to sergioferragut/druid
that referenced
this pull request
Jul 21, 2023
…pache#14619) * Simplify bounds/range vs selectors/equality logic in SQL planning. 1) Consolidate duplicate code related to Expressions#buildTimeFloorFilter. 2) Cleaner logic in Expressions#toSimpleLeafFilter: choose bounds vs range filter based solely on plannerContext.isUseBoundsAndSelectors, not also considering rhs kind. Use parsed rhs in both paths (except for numerics in the bound path). 3) Fix ArrayContains, ArrayOverlap to avoid equality filters when there is an extractionFn present. Fixes a bug introduced in apache#14612. * Avoid sending nonprimitives down the bound path.
teyeheimans
pushed a commit
to level23/druid-client
that referenced
this pull request
Mar 19, 2024
- Removed GroupByV1. GroupBy v1 is a legacy engine and has not been supported since 2021. - **Removed extraction functions.** Extraction functions are deprecated in druid and are NOT build in the new NullFilter, EqualityFilter and RangeFilter. These are deprecated and should be replaced by expressions. This is poorly documented, but can be found here: apache/druid#14612 Therefore, we have decided to remove the extraction functionality completely. You can replace the functionality of extraction functions with expressions (and virtual columns). See below for some examples. - Added `RangeFilter` which replaces the `BoundFilter`. See NULL usage sector below. - Added `EqualityFilter` which replaces the `SelectorFilter`. See NULL usage sector below. - `whereBetween` now uses the `range` filter. The `whereBetween` doesn't accept an SortingOrder anymore, but a DataType. - The `whereFlags()` method does not accept `$useJavascript` anymore, as it used an expression filter. - Removed `orWhereNotColumn`. This was a left-over and should have been removed in v3. - Added support for authentication in the druid client.
Merged
teyeheimans
added a commit
to level23/druid-client
that referenced
this pull request
Mar 19, 2024
* v4.0.0 - Removed GroupByV1. GroupBy v1 is a legacy engine and has not been supported since 2021. - **Removed extraction functions.** Extraction functions are deprecated in druid and are NOT build in the new NullFilter, EqualityFilter and RangeFilter. These are deprecated and should be replaced by expressions. This is poorly documented, but can be found here: apache/druid#14612 Therefore, we have decided to remove the extraction functionality completely. You can replace the functionality of extraction functions with expressions (and virtual columns). See below for some examples. - Added `RangeFilter` which replaces the `BoundFilter`. See NULL usage sector below. - Added `EqualityFilter` which replaces the `SelectorFilter`. See NULL usage sector below. - `whereBetween` now uses the `range` filter. The `whereBetween` doesn't accept an SortingOrder anymore, but a DataType. - The `whereFlags()` method does not accept `$useJavascript` anymore, as it used an expression filter. - Removed `orWhereNotColumn`. This was a left-over and should have been removed in v3. - Added support for authentication in the druid client. * Added whereArrayContains
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.
Description
Follow up to #14542 with a few modifications and fixes
changes:
This PR has: