From: | Romain Carl <romaincarl(at)aol(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-sql(at)lists(dot)postgresql(dot)org |
Subject: | Re: Window functions: frame-adhering aggregate without ORDER BY clause |
Date: | 2023-06-26 15:14:15 |
Message-ID: | 74be0e9f-f827-b201-00eb-8ae93e53617b@aol.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Alright, this makes sense. Thank you for the quick response!
Best regards,
Romain Carl
On 26.06.23 15:54, Tom Lane wrote:
> Romain Carl <romaincarl(at)aol(dot)com> writes:
>> among the window tests (src/test/regress/expected/window.out), I noticed
>> the presence of tests that rely upon the order of rows not determined by
>> any ORDER BY clause, such as:
> Yeah ...
>
>> The current row's frame and, consequently, the result of the sum
>> aggregate depend on the order produced by the sequential scan of table
>> tenk1. Since such order is, in general, not part of PG's defined
>> behavior, what purpose do the tests that rely upon it serve?
> The tests are perfectly entitled to test PG's actual behavior.
> I don't see much difference between this particular case and the
> fact that we have any tests at all that lack ORDER BY, because
> formally speaking the engine could choose to emit the rows in
> some other order. In practice, if we ever did make the engine
> behave differently, it'd be on us to fix affected test cases.
>
>> Following up to that, how is an EXCLUDE GROUP defined to behave in
>> absence of any ORDER BY clause?
> I see in the docs
>
> <literal>EXCLUDE GROUP</literal> excludes the current row and its
> ordering peers from the frame.
>
> and a bit later
>
> Without <literal>ORDER BY</literal>,
> ... all rows become peers of the current row.
>
> so excluding the whole frame seems like the right behavior.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Erik Brandsberg | 2023-06-26 16:21:35 | Re: Window functions: frame-adhering aggregate without ORDER BY clause |
Previous Message | Tom Lane | 2023-06-26 13:54:23 | Re: Window functions: frame-adhering aggregate without ORDER BY clause |