| From: | John Naylor <johncnaylorls(at)gmail(dot)com> |
|---|---|
| To: | Haibo Yan <tristan(dot)yim(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [PATCH] Remove redundant ORDER BY from COUNT aggregates |
| Date: | 2026-08-12 06:51:55 |
| Message-ID: | CANWCAZZzbLFOsaLw-gKpbckLMA7Qhd8ZNO8Wjs0H2juLW8wy+w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Aug 12, 2026 at 11:01 AM Haibo Yan <tristan(dot)yim(at)gmail(dot)com> wrote:
> I’d like to propose a small optimization for aggregate-local ORDER BY in COUNT.
> Currently, for example:
>
> SELECT count(a ORDER BY b) FROM t;
>
> is planned as an ordered aggregate, even though the ordering cannot affect the
> result of COUNT. This may require a Sort, but the impact is broader than just
> the extra sort: having aggorder also prevents partial aggregation and hash
> aggregation, and prevents the aggregate from sharing state with an otherwise
> identical count(a).
The question that comes to mind is, why would someone (or a program
for that matter) write it this way? Self-join elimination cited ORMs
as a motivation, what is it for this case?
--
John Naylor
Amazon Web Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pavel Stehule | 2026-08-12 07:13:02 | Re: missing possibility to use alternative translated month names in to_char function |
| Previous Message | Mats Kindahl | 2026-08-12 06:33:19 | Re: pg_rewind does not rewind diverging timelines |