-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
SanityCheckPlan should compare UnionExec inputs to requirements for output (parent). #12414
Closed
wiedld
wants to merge
11
commits into
apache:main
from
influxdata:iox-11945/sanity-check-plan-sort-pushdown
Closed
Changes from 1 commit
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
c2e652e
test: demonstrate bug where the SanityCheckPlan does not know to igno…
wiedld a50edc3
fix: for the UnionExec, the sanity check should enforce restrictions …
wiedld 782e18d
test: update test once bug fix is complete
wiedld 6e7356b
Revert "fix: for the UnionExec, the sanity check should enforce restr…
wiedld 0f317a6
chore: update across_partitions docs to match actual usage
wiedld 4bd4db0
fix: add constants from either side to the UnionExec constants
wiedld 6dafd1a
Revert "chore: update across_partitions docs to match actual usage"
wiedld 08ac804
Revert "fix: add constants from either side to the UnionExec constants"
wiedld 1304bdf
Merge branch 'main' into iox-11945/sanity-check-plan-sort-pushdown
wiedld ad4a321
fix: create a new sort order representing the UNIONed output
wiedld 53e0c56
test: update tests to reflect a unioned sort order added to UNION node
wiedld File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
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.
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.
Made the change per suggestion (demonstration only, not final commits), and I'm not sure this is the proper fix. If I add the constants on the union's equivalence properties, there are other ramifications because:
In the example above, the sort orders
[a@2 ASC NULLS LAST]
and[a0@3 ASC NULLS LAST]
are removed on non-constant projections. The EnforceSorting optimization adds (and pushes down) the SortExecs, but the change itself really occurs based upon the EquivalenceProperties's definition of a (non-constant) sort order. Since the UnionExec listed certain constants -- they are removed from the sort order.I started hacking around this in the EnforceSorting, but it feels like the suggested change (adding to constants) may be actually changing the definition of what the constants are? 🤔 Am I heading in the right direction here?