pgsql: Support plpgsql variable names that conflict with unreservedSQL
От | Tom Lane |
---|---|
Тема | pgsql: Support plpgsql variable names that conflict with unreservedSQL |
Дата | |
Msg-id | E1gfT5D-00088N-0o@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Support plpgsql variable names that conflict with unreserved SQL keywords. A variable name matching a statement-introducing keyword, such as "comment" or "update", caused parse failures if one tried to write a statement using that keyword. Commit bb1b8f69 already addressed this scenario for the case of variable names matching unreserved plpgsql keywords, but we didn't think about unreserved core-grammar keywords. The same heuristic (viz, it can't be a variable name unless the next token is assignment or '[') should work fine for that case too, and as a bonus the code gets shorter and less duplicative. Per bug #15555 from Feike Steenbergen. Since this hasn't been complained of before, and is easily worked around anyway, I won't risk a back-patch. Discussion: https://postgr.es/m/15555-149bbd70ddc7b4b6@postgresql.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4879a5172af01dc05b6350dfa97ea1ac9a4c603c Modified Files -------------- src/pl/plpgsql/src/pl_comp.c | 13 +++--- src/pl/plpgsql/src/pl_scanner.c | 74 +++++++++++++++-------------------- src/pl/plpgsql/src/plpgsql.h | 2 +- src/test/regress/expected/plpgsql.out | 21 ++++++++++ src/test/regress/sql/plpgsql.sql | 14 +++++++ 5 files changed, 75 insertions(+), 49 deletions(-)
В списке pgsql-committers по дате отправления: