Re: ANY_VALUE aggregate - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: ANY_VALUE aggregate
Date
Msg-id CAKFQuwb-QNgeup6LFBzyqfxM1fJG77HkoOPudSGrk8+pOser3w@mail.gmail.com
Whole thread Raw
In response to Re: ANY_VALUE aggregate  (Pantelis Theodosiou <ypercube@gmail.com>)
List pgsql-hackers
On Wed, Dec 7, 2022 at 1:58 AM Pantelis Theodosiou <ypercube@gmail.com> wrote:
On Tue, Dec 6, 2022 at 4:57 AM David G. Johnston
<david.g.johnston@gmail.com> wrote:
...
>
>
> I'm referring to the query:
>
> select any_value(v order by v) from (values (2),(1),(3)) as vals (v);
> // produces 1, per the documented implementation-defined behavior.
>
> Someone writing:
>
> select any_value(v) from (values (2),(1),(3)) as vals (v) order by v;
>
> Is not presently, nor am I saying, promised the value 1.
>

Shouldn't the 2nd query be producing an error, as it has an implied
GROUP BY () - so column v cannot appear (unless aggregated) in SELECT
and ORDER BY?

Right, that should be written as:

select any_value(v) from (values (2),(1),(3) order by 1) as vals (v);

(you said SELECT; the discussion here is that any_value is going to be added as a new aggregate function)

David J.

pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Allow placeholders in ALTER ROLE w/o superuser
Next
From: Andrew Dunstan
Date:
Subject: Re: Error-safe user functions