BUG #6498: with recursive / union all

Поиск
Список
Период
Сортировка
От nish2575@gmail.com
Тема BUG #6498: with recursive / union all
Дата
Msg-id E1S2nzs-0007NC-Jd@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6498: with recursive / union all  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6498
Logged by:          kanishka
Email address:      nish2575@gmail.com
PostgreSQL version: 9.0.6
Operating system:   Linux 2.6.41.4-1.fc15.i686 / fedora 15
Description:=20=20=20=20=20=20=20=20

here is an example of what i believe the system is not obeying the
expectation of a union all instead of a union, in a recursive with query
that uses a join. the documentation page on with queries also has an example
with union all over an acyclic graph data set that i believe should loop
infinitely according the descriptoin of with query processing.

this doesn't loop infinitely:

 insert into acyc values ('a','b') ,('b','c');

 with recursive paths as (
select frm, too, 1 as lvl from acyc
union all
select fnd.frm, a.too, lvl + 1 from acyc a join paths fnd on fnd.too =3D
a.frm ) select * from paths;


while this does loop infinitely:

 with recursive p as (select 5 union all select * from p ) select * from p;


my guess is the performing of the join is causing duplicates inadvertantly.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #6497: Error sent to client, but data written anyway
Следующее
От: Ryan Lowe
Дата:
Сообщение: Re: BUG #6497: Error sent to client, but data written anyway