-
- Downloads
This patch implements FOR EACH STATEMENT triggers, per my email to
-hackers a couple days ago. Notes/caveats: - added regression tests for the new functionality, all regression tests pass on my machine - added pg_dump support - updated PL/PgSQL to support per-statement triggers; didn't look at the other procedural languages. - there's (even) more code duplication in trigger.c than there was previously. Any suggestions on how to refactor the ExecXXXTriggers() functions to reuse more code would be welcome -- I took a brief look at it, but couldn't see an easy way to do it (there are several subtly-different versions of the code in question) - updated the documentation. I also took the liberty of removing a big chunk of duplicated syntax documentation in the Programmer's Guide on triggers, and moving that information to the CREATE TRIGGER reference page. - I also included some spelling fixes and similar small cleanups I noticed while making the changes. If you'd like me to split those into a separate patch, let me know. Neil Conway
Showing
- doc/src/sgml/plpgsql.sgml 55 additions, 49 deletionsdoc/src/sgml/plpgsql.sgml
- doc/src/sgml/ref/alter_trigger.sgml 2 additions, 2 deletionsdoc/src/sgml/ref/alter_trigger.sgml
- doc/src/sgml/ref/create_trigger.sgml 62 additions, 25 deletionsdoc/src/sgml/ref/create_trigger.sgml
- doc/src/sgml/release.sgml 2 additions, 2 deletionsdoc/src/sgml/release.sgml
- doc/src/sgml/trigger.sgml 89 additions, 159 deletionsdoc/src/sgml/trigger.sgml
- src/backend/access/transam/xact.c 1 addition, 13 deletionssrc/backend/access/transam/xact.c
- src/backend/commands/copy.c 16 additions, 3 deletionssrc/backend/commands/copy.c
- src/backend/commands/tablecmds.c 1 addition, 14 deletionssrc/backend/commands/tablecmds.c
- src/backend/commands/trigger.c 228 additions, 32 deletionssrc/backend/commands/trigger.c
- src/backend/executor/execMain.c 48 additions, 15 deletionssrc/backend/executor/execMain.c
- src/backend/nodes/copyfuncs.c 1 addition, 9 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 1 addition, 9 deletionssrc/backend/nodes/equalfuncs.c
- src/backend/parser/gram.y 14 additions, 16 deletionssrc/backend/parser/gram.y
- src/backend/utils/adt/pg_lzcompress.c 6 additions, 6 deletionssrc/backend/utils/adt/pg_lzcompress.c
- src/bin/pg_dump/pg_backup_archiver.c 2 additions, 2 deletionssrc/bin/pg_dump/pg_backup_archiver.c
- src/bin/pg_dump/pg_dump.c 9 additions, 15 deletionssrc/bin/pg_dump/pg_dump.c
- src/include/commands/trigger.h 13 additions, 1 deletionsrc/include/commands/trigger.h
- src/include/nodes/parsenodes.h 2 additions, 6 deletionssrc/include/nodes/parsenodes.h
- src/include/utils/pg_lzcompress.h 4 additions, 4 deletionssrc/include/utils/pg_lzcompress.h
- src/include/utils/rel.h 2 additions, 2 deletionssrc/include/utils/rel.h
Loading
Please register or sign in to comment