pgsql: Repair problems occurring when multiple RI updates have to be
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Repair problems occurring when multiple RI updates have to be |
Дата | |
Msg-id | 20070815191547.14D5A754259@cvs.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Repair problems occurring when multiple RI
updates have to be
|
Список | pgsql-committers |
Log Message: ----------- Repair problems occurring when multiple RI updates have to be done to the same row within one query: we were firing check triggers before all the updates were done, leading to bogus failures. Fix by making the triggers queued by an RI update go at the end of the outer query's trigger event list, thereby effectively making the processing "breadth-first". This was indeed how it worked pre-8.0, so the bug does not occur in the 7.x branches. Per report from Pavel Stehule. Modified Files: -------------- pgsql/src/backend/commands: trigger.c (r1.216 -> r1.217) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.216&r2=1.217) pgsql/src/backend/executor: spi.c (r1.179 -> r1.180) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c?r1=1.179&r2=1.180) pgsql/src/backend/utils/adt: ri_triggers.c (r1.95 -> r1.96) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ri_triggers.c?r1=1.95&r2=1.96) pgsql/src/include/executor: spi.h (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/spi.h?r1=1.62&r2=1.63) pgsql/src/test/regress/expected: foreign_key.out (r1.44 -> r1.45) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/foreign_key.out?r1=1.44&r2=1.45) pgsql/src/test/regress/sql: foreign_key.sql (r1.20 -> r1.21) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/foreign_key.sql?r1=1.20&r2=1.21)
В списке pgsql-committers по дате отправления: