-
- Downloads
Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to be
checked to determine whether the trigger should be fired. For BEFORE triggers this is mostly a matter of spec compliance; but for AFTER triggers it can provide a noticeable performance improvement, since queuing of a deferred trigger event and re-fetching of the row(s) at end of statement can be short-circuited if the trigger does not need to be fired. Takahiro Itagaki, reviewed by KaiGai Kohei.
Showing
- doc/src/sgml/catalogs.sgml 10 additions, 1 deletiondoc/src/sgml/catalogs.sgml
- doc/src/sgml/ref/create_constraint.sgml 18 additions, 1 deletiondoc/src/sgml/ref/create_constraint.sgml
- doc/src/sgml/ref/create_trigger.sgml 108 additions, 4 deletionsdoc/src/sgml/ref/create_trigger.sgml
- doc/src/sgml/trigger.sgml 21 additions, 1 deletiondoc/src/sgml/trigger.sgml
- src/backend/catalog/index.c 3 additions, 2 deletionssrc/backend/catalog/index.c
- src/backend/commands/copy.c 8 additions, 3 deletionssrc/backend/commands/copy.c
- src/backend/commands/tablecmds.c 8 additions, 5 deletionssrc/backend/commands/tablecmds.c
- src/backend/commands/trigger.c 287 additions, 24 deletionssrc/backend/commands/trigger.c
- src/backend/executor/execMain.c 5 additions, 1 deletionsrc/backend/executor/execMain.c
- src/backend/executor/execQual.c 40 additions, 15 deletionssrc/backend/executor/execQual.c
- src/backend/executor/execUtils.c 2 additions, 1 deletionsrc/backend/executor/execUtils.c
- src/backend/executor/nodeModifyTable.c 7 additions, 5 deletionssrc/backend/executor/nodeModifyTable.c
- src/backend/nodes/copyfuncs.c 2 additions, 1 deletionsrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 2 additions, 1 deletionsrc/backend/nodes/equalfuncs.c
- src/backend/parser/gram.y 18 additions, 11 deletionssrc/backend/parser/gram.y
- src/backend/tcop/utility.c 2 additions, 2 deletionssrc/backend/tcop/utility.c
- src/backend/utils/adt/ruleutils.c 59 additions, 8 deletionssrc/backend/utils/adt/ruleutils.c
- src/bin/pg_dump/pg_dump.c 9 additions, 2 deletionssrc/bin/pg_dump/pg_dump.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_trigger.h 5 additions, 3 deletionssrc/include/catalog/pg_trigger.h
Loading
Please register or sign in to comment