pgsql: Track nesting depth correctly when drilling down into RECORD Var
| От | Tom Lane |
|---|---|
| Тема | pgsql: Track nesting depth correctly when drilling down into RECORD Var |
| Дата | |
| Msg-id | E1qhFx0-0042tf-Ic@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Track nesting depth correctly when drilling down into RECORD Vars. expandRecordVariable() failed to adjust the parse nesting structure correctly when recursing to inspect an outer-level Var. This could result in assertion failures or core dumps in corner cases. Likewise, get_name_for_var_field() failed to adjust the deparse namespace stack correctly when recursing to inspect an outer-level Var. In this case the likely result was a "bogus varno" error while deparsing a view. Per bug #18077 from Jingzhou Fu. Back-patch to all supported branches. Richard Guo, with some adjustments by me Discussion: https://postgr.es/m/18077-b9db97c6e0ab45d8@postgresql.org Branch ------ REL_14_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/ae13f8166dc372a94e596f423790a67abd7bf68c Modified Files -------------- src/backend/parser/parse_target.c | 20 ++++++++---- src/backend/utils/adt/ruleutils.c | 37 ++++++++++++--------- src/test/regress/expected/rowtypes.out | 60 ++++++++++++++++++++++++++++++++++ src/test/regress/sql/rowtypes.sql | 25 ++++++++++++++ 4 files changed, 120 insertions(+), 22 deletions(-)
В списке pgsql-committers по дате отправления: