Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index
От | Andrei Lepikhov |
---|---|
Тема | Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index |
Дата | |
Msg-id | 8a09d059-8bcf-48de-8c8e-771d8221091c@gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index (Andrei Lepikhov <lepihov@gmail.com>) |
Список | 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
В списке pgsql-bugs по дате отправления: