Re: Common Table Expressions (WITH RECURSIVE) patch

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Common Table Expressions (WITH RECURSIVE) patch
Дата
Msg-id 24326.1220990842@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Common Table Expressions (WITH RECURSIVE) patch  ("Robert Haas" <robertmhaas@gmail.com>)
Список pgsql-hackers
"Robert Haas" <robertmhaas@gmail.com> writes:
>> I am  blind, I didn't find any reason, why materialisation isn't useable.

> I believe it's because of these two (closely related) problems:

> # The basic
> # implementation clearly ought to be to dump the result of the subquery
> # into a tuplestore and then have the upper level read out from that.
> # However, we don't have any infrastructure for having multiple
> # upper-level RTEs reference the same tuplestore.  (Perhaps the InitPlan
> # infrastructure could be enhanced in that direction, but it's not ready
> # for non-scalar outputs today.)  Also, I think we'd have to teach
> # tuplestore how to support multiple readout cursors.  For example,
> # consider
> #     WITH foo AS (SELECT ...) SELECT ... FROM foo a, foo b WHERE ...
> # If the planner chooses to do the join as a nested loop then each
> # Scan node needs to keep track of its own place in the tuplestore,
> # concurrently with the other node having a different place.

The amount of new code needed for that seems a pittance compared to the
size of the patch already, so I'm not seeing why Tatsuo-san considers
it infeasible.
        regards, tom lane


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

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: Keeping creation time of objects
Следующее
От: daveg
Дата:
Сообщение: Re: Keeping creation time of objects