In [1] we've reached a conclusion that for a MATERIALIZED CTE it's okay
to 'allow our statistics or guesses for the sub-query to subsequently
influence what the upper planner does'. Commit f7816aec23 exposes
column statistics to the upper planner. In the light of that, here is a
patch that exposes info about the ordering of the CTE result to the
upper planner.
This patch was initially posted in that same thread and has received
some comments from Tom in [2]. Due to the presence of multiple patches
in that thread, it has led to confusion. So fork a new thread here
specifically dedicated to discussing the patch about exposing pathkeys
from CTEs to the upper planner.
Comments/thoughts?
[1]
https://www.postgresql.org/message-id/482957.1700192299%40sss.pgh.pa.us[2]
https://www.postgresql.org/message-id/1339607.1700502358%40sss.pgh.pa.usThanks
Richard