forked from cockroachdb/cockroach
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
130978: opt: fix SplitDisjunctionOfJoinTerms and SplitDisjunctionOfAntiJoinTerms r=mgartner a=mgartner #### opt: fix test assertion message A test-only assertion with the message "projection passes through columns not in input" has been fixed to correctly print the columns that are passthrough columns and not in the input. Previously, it incorrectly printed input columns that were not passthrough columns. Release note: None #### opt: fix SplitDisjunctionOfJoinTerms and SplitDisjunctionOfAntiJoinTerms The exploration rules SplitDisjunctionOfJoinTerms and SplitDisjunctionOfAntiJoinTerms previously constructed expressions during the match phase of the rule. This is an anti-pattern. The match logic occurs before the `matchedRule` callback is invoked, which is used to disable exploration rules under the `norm` test directive. As a result these rules could perform some constructions of new expressions in `norm` tests where these exploration rules should be disabled. This confused me quite a bit while debugging a problem with the rules. The rules have been updated so that the eligibility of the rules are checked during the match phase, and new expressions are only constructed during the replace phase. Epic: None Release note: None #### opt: optimize SplitDisjunctionOfJoinTerms and SplitDisjunctionOfAntiJoinTerms Duplicate computation that occurred in both the match and replace phases of the SplitDisjunctionOfJoinTerms and SplitDisjunctionOfAntiJoinTerms rules has been eliminated by performing the computation in only the match phase, and passing the results to a custom function in the replace phase. Release note: None Co-authored-by: Marcus Gartner <[email protected]>
- Loading branch information
Showing
4 changed files
with
81 additions
and
41 deletions.
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
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