Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index
От | Tom Lane |
---|---|
Тема | Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index |
Дата | |
Msg-id | 2527690.1728510183@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18652: Planner can not find pathkey item to sort for query with expression and expression index
|
Список | pgsql-bugs |
PG Bug reporting form <noreply@postgresql.org> writes: > The following query: > CREATE TABLE t(i int, j int); > CREATE INDEX idx on t((i + 0)); > SELECT * FROM t, > (SELECT i + 0 AS i FROM > (SELECT i FROM t UNION ALL SELECT i + 1 FROM t) AS t1 > ) AS t2 > WHERE t2.i = t.j; > fails with: > ERROR: XX000: could not find pathkey item to sort > LOCATION: prepare_sort_from_pathkeys, createplan.c:6350 > The error occurs only when the expression in SELECT i + 0 AS i FROM > matches the expression in an index. > Reproduced on REL_10_STABLE .. master. Hm, this seems quite an old bug: I can reproduce it on 9.1 but not 9.0. Unfortunately, that's too far back to build easily on modern platforms, so I'm not seeing a way to "git bisect" for more insight. It looks like we are generating a Path tree in which one of the inputs to a MergeAppend is a plain unsorted seqscan, which'd be all right except it doesn't expose the required sort value in its targetlist. More later. regards, tom lane
В списке pgsql-bugs по дате отправления: