Re: Eager aggregation, take 3
Richard Guo <guofenglinux@gmail.com>
Attachments
- v11-0001-Introduce-RelInfoList-structure.patch (application/octet-stream) patch v11-0001
- v11-0002-Implement-Eager-Aggregation.patch (application/octet-stream) patch v11-0002
On Fri, Aug 16, 2024 at 4:14 PM Richard Guo <guofenglinux@gmail.com> wrote: > I had a self-review of this patchset and made some refactoring, > especially to the function that creates the RelAggInfo structure for a > given relation. While there were no major changes, the code should > now be simpler. I found a bug in v10 patchset: when we generate the GROUP BY clauses for the partial aggregation that is pushed down to a non-aggregated relation, we may produce a clause with a tleSortGroupRef that duplicates one already present in the query's groupClause, which would cause problems. Attached is the updated version of the patchset that fixes this bug and includes further code refactoring. Thanks Richard
Commits
-
Fix eager aggregation for semi/antijoin inner rels
- ffeda04259bb 19 (unreleased) landed
-
Cover additional errors and corner conditions in repack.c
- 2670cc298f42 19 (unreleased) cited
-
Fix volatile function evaluation in eager aggregation
- 3a08a2a8b4fd 19 (unreleased) landed
-
Fix collation handling for grouping keys in eager aggregation
- bd94845e8c90 19 (unreleased) landed
-
Rename apply_at to apply_agg_at for clarity
- 1206df04c200 19 (unreleased) landed
-
Fix comment in eager_aggregate.sql
- 36fd8bde1b77 19 (unreleased) landed
-
Remove unnecessary include of "utils/fmgroids.h"
- f997d777adf7 19 (unreleased) landed
-
Implement Eager Aggregation
- 8e11859102f9 19 (unreleased) landed
-
Allow negative aggtransspace to indicate unbounded state size
- 185e30426334 19 (unreleased) landed
-
Add macros for looping through a List without a ListCell.
- 14dd0f27d7cd 17.0 cited
-
Account for the effect of lossy pages when costing bitmap scans.
- 5edc63bda68a 11.0 cited
-
Fix a thinko in join_is_legal: when we decide we can implement a semijoin
- a43b190e3c71 9.0.0 cited