-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
58280: colexec: add vectorized cross joiner r=yuzefovich a=yuzefovich **descpb: add helper method for computing output types of joins** Release note: None **colexec: shorten merge joiner benchmark** This commit adjust the merge joiner benchmark to run faster (from 145s to 54s on my laptop) by removing the smallest row options and reducing the number of options from 5 to 4. Release note: None **colexec: extract cross joiner base from the merge joiner** This commit extracts the logic of building from the buffered groups in the merge joiner into a cross joiner base struct which will allow us to reuse it for implementing the disk-backed vectorized cross joiner. The logical changes were kept to minimum. Release note: None **colexec: add vectorized cross joiner** This commit adds the vectorized cross joiner with the core building logic being reused from the base struct extracted from the merge joiner. The new operator simply needs to consume the inputs to set up the base struct while also paying attention to possibly unmatched tuples (this was never the case for the buffered group in the merge joiner). It also optimizes the behavior in how the inputs are consumed depending on the join type. Fixes: #46205 Release note: None **colexec: optimize cross joiner for some join types** This commit optimizes the cross joiner a bit by taking advantage that for some join types we need to repeat left tuples only once. It additionally cleans up the logic around exiting from the build methods so that we don't run into a situation where `toAppend` is 0 (which is pointless). Release note: None Co-authored-by: Yahor Yuzefovich <[email protected]>
- Loading branch information
Showing
33 changed files
with
3,559 additions
and
10,713 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
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.