Hi,
Included are the latest WITH RECURSIVE patches against CVS HEAD.
The main differences from previous patches include:
- Allow multiple query names (mutual recursion is not still allowed)
These are some examples from the regression test:
WITH RECURSIVE
x(id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM x WHERE id < 5),
y(id) AS (values (1))
SELECT * FROM x;
WITH RECURSIVE
x(id) AS
(SELECT 1 UNION ALL SELECT id+1 FROM x WHERE id < 3 ),
y(id) AS
(SELECT * FROM x UNION ALL SELECT * FROM x),
z(id) AS
(SELECT * FROM y UNION ALL SELECT id+1 FROM z WHERE id < 10)
SELECT * FROM z;
- Fix some cases where target list has subquries
WITH RECURSIVE t(id) AS (
SELECT (VALUES(1))
UNION ALL
SELECT id+1 FROM t WHERE id < 5
)
SELECT * FROM t;
Remaining works:
1) write sgml docs
2) write README
Currently I'm writing 2) based on the one posted before.
BTW, I'm traveling to the United States from Aug 4 to Aug 12. I'm
going to join Linux World, PGDay and pgpool party at Bruce's. I hope
to meet many community poeple soon!
--
Tatsuo Ishii
SRA OSS, Inc. Japan