From: | nish2575(at)gmail(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #6498: with recursive / union all |
Date: | 2012-02-29 18:11:28 |
Message-ID: | E1S2nzs-0007NC-Jd@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 6498
Logged by: kanishka
Email address: nish2575(at)gmail(dot)com
PostgreSQL version: 9.0.6
Operating system: Linux 2.6.41.4-1.fc15.i686 / fedora 15
Description:
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 =
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2012-02-29 18:56:04 | Re: BUG #6497: Error sent to client, but data written anyway |
Previous Message | Ryan Lowe | 2012-02-29 17:26:13 | Re: BUG #6497: Error sent to client, but data written anyway |