Fix trigger WHEN conditions when both BEFORE and AFTER triggers exist. Due to tuple-slot mismanagement, evaluation of WHEN conditions for AFTER ROW UPDATE triggers could crash if there had been a BEFORE ROW trigger fired for the same update. Fix by not trying to overload the use of estate->es_trig_tuple_slot. Per report from Yoran Heling. Back-patch to 9.0, when trigger WHEN conditions were introduced. Branch ------ REL9_0_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/52120ee8346aa42d26e4c2244574df4d90f4bda6 Modified Files -------------- src/backend/commands/trigger.c | 6 +++--- src/backend/executor/execMain.c | 1 + src/backend/executor/execUtils.c | 1 + src/include/nodes/execnodes.h | 8 +++++++- src/test/regress/expected/triggers.out | 29 +++++++++++++++++++++++++++++ src/test/regress/sql/triggers.sql | 26 ++++++++++++++++++++++++++ 6 files changed, 67 insertions(+), 4 deletions(-)
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера