Re: Eager aggregation, take 3

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Andy Fan <zhihuifan1213(at)163(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Eager aggregation, take 3
Date: 2024-04-30 04:06:42
Message-ID: CAMbWs48KCQtDymnYi4M=Vz+WMzo3fkBxffJsyk6VX6hOXXv+VA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Here is an update of the patchset with the following changes:

* Fix a 'Aggref found where not expected' error caused by the PVC call
in is_var_in_aggref_only. This would happen if we have Aggrefs
contained in other expressions.

* Use joinrel's relids rather than the union of the relids of its outer
and inner to search for its grouped rel. This is more correct as we
need to include OJs into consideration.

* Remove RelAggInfo.agg_exprs as it is not used anymore.

Thanks
Richard

Attachment Content-Type Size
v6-0001-Introduce-RelInfoList-structure.patch application/octet-stream 14.3 KB
v6-0002-Introduce-RelAggInfo-structure-to-store-info-for-grouped-paths.patch application/octet-stream 7.8 KB
v6-0003-Set-up-for-eager-aggregation-by-collecting-needed-infos.patch application/octet-stream 14.3 KB
v6-0004-Implement-functions-that-create-RelAggInfos-if-applicable.patch application/octet-stream 26.2 KB
v6-0005-Implement-functions-that-generate-paths-for-grouped-relations.patch application/octet-stream 13.1 KB
v6-0006-Build-grouped-relations-out-of-base-relations.patch application/octet-stream 9.0 KB
v6-0007-Build-grouped-relations-out-of-join-relations.patch application/octet-stream 25.5 KB
v6-0008-Add-test-cases.patch application/octet-stream 71.5 KB
v6-0009-Add-README.patch application/octet-stream 4.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-04-30 04:10:02 Re: DROP OWNED BY fails to clean out pg_init_privs grants
Previous Message David G. Johnston 2024-04-30 04:00:20 Re: DROP OWNED BY fails to clean out pg_init_privs grants