On Sat, Aug 19, 2023 at 04:24:48AM +0200, Erwin Brandstetter wrote:
> I posted to pgsql-docs first, but was kindly redirected here by Jonathan:
>
> The release notes for Postgres 16 says here:
> https://www.postgresql.org/docs/16/release-16.html#RELEASE-16-PERFORMANCE
>
> Same as here:
> https://momjian.us/pgsql_docs/release-16.html#RELEASE-16-PERFORMANCE
>
> Allow window functions to use ROWS mode internally when RANGE mode is
> specified but unnecessary (David Rowley)
Yes, I didn't like "specified" myself but never returned to improve it.
I am now using:
Allow window functions to use the faster <link
linkend="syntax-window-functions"><literal>ROWS</literal></link> mode
internally when <literal>RANGE</literal> mode is active but unnecessary
------
(David Rowley)
Can that be improved?
> But the improvement (fix to some degree) also applies to the much more common
> case where no mode has been specified, RANGE unfortunately being the default.
> That includes the most common use case "row_number() OVER (ORDER BY col)",
> where RANGE mode should not be applied to begin with, according to SQL specs.
> This is what made me investigate, test and eventually propose a fix in the
> first place. See:
Yes, very true.
> Also, I was hoping to be mentioned in the release note for working this out:
>
> Allow window functions to use the faster ROWS mode internally when RANGE
> mode is specified or would be default, but unnecessary (David Rowley, Erwin
> Brandstetter)
Uh, I have CC'ed David Rowley because that is unclear based on the
commit message. I don't normally mention reviewers.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Only you can decide what is important to you.