Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: Tender Wang <tndrwang@gmail.com>
Cc: Andrei Lepikhov <lepihov@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-10-10T10:20:36Z
Lists: pgsql-bugs
On Thu, Oct 10, 2024 at 5:02 PM Tender Wang <tndrwang@gmail.com> wrote:
> Andrei Lepikhov <lepihov@gmail.com> 于2024年10月10日周四 14:50写道:
>> Looking into that case, I don't understand only one thing:
>> generate_orderedappend_paths decided to try MergeAppend; the
>> create_append_path routine added the Sort cost,  but the Sort node
>> itself wasn't added. Maybe the origin problem is the lack of feasibility
>> examinations?

> Yeah, I'm also curious why only cost Sort but not adding Sort node in create_merge_append_path().
> The comments say that " We'll need to insert a Sort node, so include cost for that".  Does another place
> insert the Sort node?

The Sort node will be added in createplan.c.  This isn't exclusive to
MergeAppend; we also do so for MergeJoin, for example.

Thanks
Richard



Commits

  1. Correctly identify which EC members are computable at a plan node.

  2. Support MergeAppend plans, to allow sorted output from append relations.