Re: recursive query crash
От | Tom Lane |
---|---|
Тема | Re: recursive query crash |
Дата | |
Msg-id | 29499.1223766228@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | recursive query crash (Gregory Stark <stark@enterprisedb.com>) |
Ответы |
Re: recursive query crash
|
Список | pgsql-hackers |
Gregory Stark <stark@enterprisedb.com> writes: > This crashes, apparently it tries to look up the result type on a NULL > planstate: > with recursive z(i) as ( > select * > from t > union all > (with a(i) as (select * from z) > select * from a) > ) > select * from z; Hmm ... I tried to fix this by changing the order in which the subplans get initialized, but that just moves the crash to the other subplan. The problem really is that what we have here is two mutually recursive WITH entries, and neither one can be successfully initialized in the executor before the other one is. I begin to see why the SQL spec forbids this syntax altogether. I'm inclined to prevent this case by forbidding recursive references inside nested WITH clauses. Thoughts? regards, tom lane
В списке pgsql-hackers по дате отправления: