Re: [PATCH] Remove redundant ORDER BY from COUNT aggregates

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

In response to

Browse pgsql-hackers by date

  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