[PATCH] Allow multiple recursive self-references

Поиск
Список
Период
Сортировка
От Denis Hirn
Тема [PATCH] Allow multiple recursive self-references
Дата
Msg-id F4329B6F-6D84-4AC6-B205-D2B38BF15FBB@uni-tuebingen.de
обсуждение исходный текст
Ответы Re: [PATCH] Allow multiple recursive self-references  (Pantelis Theodosiou <ypercube@gmail.com>)
Список pgsql-hackers
Hey everyone,

As you know, Postgres currently supports SQL:1999 recursive common table
expressions, using WITH RECURSIVE. However, Postgres does not allow more than
one recursive self-reference in the recursive term. This restriction seems to be
unnecessary.

In this mail, I'd like to propose a patch that removes this restriction, and
therefore allows the use of multiple self-references in the recursive term.
After the patch:

WITH RECURSIVE t(n) AS (
    VALUES(1)
  UNION ALL
    SELECT t.n+f.n
    FROM t, t AS f
    WHERE t.n < 100
) SELECT * FROM t;

  n
-----
   1
   2
   4
   8
  16
  32
  64
 128
(8 rows)

This feature deviates only slightly from the current WITH RECURSIVE, and
requires very little changes (~10 loc). Any thoughts on this?

--
Denis Hirn

Вложения

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

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: Wired if-statement in gen_partprune_steps_internal
Следующее
От: gkokolatos@pm.me
Дата:
Сообщение: Re: PATCH: Attempt to make dbsize a bit more consistent