pgsql: Avoid trying to lock OLD/NEW in a rule with FOR UPDATE.
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | pgsql: Avoid trying to lock OLD/NEW in a rule with FOR UPDATE. |
| Дата | |
| Msg-id | E1mGkf5-0004CM-Hi@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Avoid trying to lock OLD/NEW in a rule with FOR UPDATE. transformLockingClause neglected to exclude the pseudo-RTEs for OLD/NEW when processing a rule's query. This led to odd errors or even crashes later on. This bug is very ancient, but it's not terribly surprising that nobody noticed, since the use-case for SELECT FOR UPDATE in a non-view rule is somewhere between thin and non-existent. Still, crashing is not OK. Per bug #17151 from Zhiyong Wu. Thanks to Masahiko Sawada for analysis of the problem. Discussion: https://postgr.es/m/17151-c03a3e6e4ec9aadb@postgresql.org Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/7fa367d96bb1ae25f422d6c2a78424f0f9227b5a Modified Files -------------- src/backend/parser/analyze.c | 19 +++++++++++++++++-- src/include/nodes/parsenodes.h | 8 ++++---- src/test/regress/expected/rules.out | 25 +++++++++++++++++++++++++ src/test/regress/sql/rules.sql | 14 ++++++++++++++ 4 files changed, 60 insertions(+), 6 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера