-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
74437: colexecagg: reduce the size of hash aggregates r=yuzefovich a=yuzefovich **colexec: fix a recent bug with aggTypes** When we introduced the hash aggregation with partial order support, we mistakenly removed the ordered aggregation from `aggTypes` slice that is used in some tests as well as in the benchmarks. This is now fixed. Release note: None **colexecagg: replace concrete slices with native type aliases** This commit replaces concrete slices (like `[]int64`) with the corresponding native type aliases (like `coldata.Int64s`). This allows us to use inlined `Set` methods. Release note: None **colexecagg: remove some redundant COPYVAL calls** This commit removes several `execgen.COPYVAL` calls that were redundant because the first and the second argument are the same. These calls are redundant because we already performed the same call right after calling `Get` from the original vector and we will perform a deep copy when calling `Set` next. Release note: None **colexecagg: reduce the size of hash aggregates** This commit reduces the size of the hash aggregates by removing the reference to the well-typed column (i.e. a concrete unwrapped `coldata.Vec`, something like `[]int64`). This is possible because the hash aggregates only access the concrete column once, in `Flush`, so there is no point in storing the concrete column as we do for the ordered aggregates. We still perform the interface dispatch call only once - previously it was in `SetOutput`, now it is in `Flush`. This should be a non-trivial improvement since the hash aggregation uses a separate aggregation function object for each bucket. This change also allows us to remove the overriding of `SetOutput` method implementation provided by the base struct from the hash and window aggregates. Release note: None Co-authored-by: Yahor Yuzefovich <[email protected]>
- Loading branch information
Showing
38 changed files
with
420 additions
and
1,120 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
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.