WITH RECURSIVE patches V0.1 TODO items

Поиск
Список
Период
Сортировка
Hi,

Thanks to all who respnoded to the WITH RECURSIVE patches V0.1. Here
are TODO items so far. Lines starting with "*" are my comments and
questions.

- SEARCH clause not supported
 * do weed this for 8.4?

- CYCLE clause not supported
 * do weed this for 8.4?

- the number of "partition" is limited to up to 1
 * do weed this for 8.4?

- "non_recursive_term UNION recursive_term" is not supported.  Always UNION ALL" is requried. (i.e. "non_recursive_term
UNIONALL recursive_term" is supported)
 
 * do weed this for 8.4?

- mutually recursive queries are not supported
 * do weed this for 8.4?

- mutually recursive queries are not detected
 * do weed this for 8.4?

- cost of Recursive Scan is always 0

- infinit recursion is not detected
 * Tom suggested let query cancel and statement_timeout handle it.

- only the last SELECT of UNION ALL can include self recursion name

- outer joins for recursive name and tables does not work

- need regression tests

- need docs (at least SELECT reference manual)

- some queries crash. Examples are following:

--non recursive term only case: crashed with V0.1 patches
WITH RECURSIVE subdepartment AS
( -- non recursive term SELECT * FROM department WHERE name = 'A'
)
SELECT * FROM subdepartment ORDER BY name;

-- recursive term only case: crashed with V0.1 patches
WITH RECURSIVE subdepartment AS
( -- recursive term SELECT sd.level + 1, d.* FROM department AS d, subdepartment AS sd   WHERE d.parent_department =
sd.id
)
SELECT * FROM subdepartment ORDER BY name;
--
Tatsuo Ishii
SRA OSS, Inc. Japan


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