Re: BUG #18859: ERROR: unexpected plan node type: 356
От | Andrei Lepikhov |
---|---|
Тема | Re: BUG #18859: ERROR: unexpected plan node type: 356 |
Дата | |
Msg-id | 72c3c1f4-9ed1-4d1c-ae67-eb04b8e50cd1@gmail.com обсуждение исходный текст |
Ответ на | BUG #18859: ERROR: unexpected plan node type: 356 (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18859: ERROR: unexpected plan node type: 356
|
Список | pgsql-bugs |
On 20/3/2025 14:53, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 18859 > Logged by: Olleg Samoylov > Email address: splarv@ya.ru > PostgreSQL version: 17.4 > Operating system: RedOS 8 > Description: > > This working. > postgres=> do $$ declare p_CurData refcursor; begin OPEN p_CurData FOR > SELECT NULL::int id; end;$$; > DO > But this is not. Internal error. > postgres=> do $$ declare p_CurData refcursor; begin OPEN p_CurData SCROLL > FOR SELECT NULL::int id; end;$$; > ERROR: unexpected plan node type: 356 > CONTEXT: PL/pgSQL function inline_code_block line 1 at OPEN > It may be reproduced with any expression, treated as a simple expression. For example: DO $$ DECLARE p_CurData refcursor; BEGIN OPEN p_CurData SCROLL FOR SELECT now(); END; $$; The problem here is in the scrollable cursors code which inserts Material node: if (cursorOptions & CURSOR_OPT_SCROLL) { if (!ExecSupportsBackwardScan(top_plan)) top_plan = materialize_finished_plan(top_plan); } But the exec_save_simple_expr() doesn't process Material node and causes the ERROR. -- regards, Andrei Lepikhov
В списке pgsql-bugs по дате отправления: