Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index
Andrei Lepikhov <lepihov@gmail.com>
From: Andrei Lepikhov <lepihov@gmail.com>
To: Tender Wang <tndrwang@gmail.com>
Cc: Richard Guo <guofenglinux@gmail.com>, exclusion@gmail.com,
pgsql-bugs@lists.postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-10-11T02:43:52Z
Lists: pgsql-bugs
On 10/10/24 17:23, Andrei Lepikhov wrote: > On 10/10/24 16:02, Tender Wang wrote: >> >> >> Andrei Lepikhov <lepihov@gmail.com <mailto:lepihov@gmail.com>> 于2024 >> 年 > I think this is because find_computable_ec_member() only >> tries to >> > match Vars. Maybe we should teach it to also match OpExprs? >> 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? > Before inserting the Sort node, we must identify the column > corresponding to each path key. And here is the problem: IndexScan has > two elements in the target list, but SeqScan has only one. It already > looks strange to me. How do we UNION two sources with different numbers > of resulting columns? It seems to me we have a bug under the Append node.Sorry for the mess: my sentence is totally wrong: it is the MergeAppend node with two elements in the target list (the second one is resjunk). I think I should research the logic of how append arranges its pathkeys beforehand. -- regards, Andrei Lepikhov
Commits
-
Correctly identify which EC members are computable at a plan node.
- 9f954177b1eb 18.0 landed
- 76de4b182cad 13.17 landed
- 64635c8af92d 16.5 landed
- 54889ea64baa 17.1 landed
- 4f3bccbaaeb4 15.9 landed
- 4ca708eb3588 14.14 landed
-
Support MergeAppend plans, to allow sorted output from append relations.
- 11cad29c9152 9.1.0 cited