Thread: pgsql: Order active window clauses for greater reuse of Sort nodes.

pgsql: Order active window clauses for greater reuse of Sort nodes.

From
Andrew Gierth
Date:
Order active window clauses for greater reuse of Sort nodes.

By sorting the active window list lexicographically by the sort clause
list but putting longer clauses before shorter prefixes, we generate
more chances to elide Sort nodes when building the path.

Author: Daniel Gustafsson (with some editorialization by me)
Reviewed-by: Alexander Kuzmenkov, Masahiko Sawada, Tom Lane
Discussion: https://postgr.es/m/124A7F69-84CD-435B-BA0E-2695BE21E5C2%40yesql.se

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/728202b63cdcd7fb73fdba114903ed235eb02f3a

Modified Files
--------------
src/backend/nodes/list.c             |   7 +-
src/backend/optimizer/plan/planner.c | 154 +++++++++++++++++++++++++----------
src/test/regress/expected/window.out |  60 +++++++++++---
src/test/regress/sql/window.sql      |  16 ++++
4 files changed, 177 insertions(+), 60 deletions(-)