[BUGS] BUG #14549: pl/pgsql parser
От | stefanov.sm@abv.bg |
---|---|
Тема | [BUGS] BUG #14549: pl/pgsql parser |
Дата | |
Msg-id | 20170217075821.6101.49074@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: [BUGS] BUG #14549: pl/pgsql parser
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 14549 Logged by: Stefan Stefanov Email address: stefanov.sm@abv.bg PostgreSQL version: 9.5.3 Operating system: Red Hat, 64 bit Description: Hi all, I found (the hard way) that in pl/pgsql SELECT INTO statement a syntax error may remain unnoticed. This simple example works as expected and produces '1, 2, 3' notice. DO language plpgsql $$ DECLARE vara integer; varb integer; varc integer; BEGIN SELECT 1, 2, 3 INTO vara, varb, varc; RAISE NOTICE '% % %', vara, varb, varc; END; $$; However if you omit a comma (or even replace the comma with AS) between varb and varc in the INTO list then no syntax error is produced and the resulting notice is '1 2 <NULL>'. DO language plpgsql $$ DECLARE vara integer; varb integer; varc integer; BEGIN SELECT 1, 2, 3 INTO vara, varb AS varc; RAISE NOTICE '% % %', vara, varb, varc; END; $$; A few more clearly erratic combinations of SELECT expressions and the INTO list also 'work' and issue misleading results. Same in functions. For me it produced a bug that was difficult to see and track. Best, Stefan -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
В списке pgsql-bugs по дате отправления: