mirror of
https://github.com/postgres/postgres.git
synced 2025-11-07 19:06:32 +03:00
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
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rel.h,v 1.63 2002/09/04 20:31:46 momjian Exp $
|
||||
* $Id: rel.h,v 1.64 2002/11/23 03:59:09 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -71,7 +71,7 @@ typedef struct TriggerDesc
|
||||
* trigger can appear in more than one class, for each class we
|
||||
* provide a list of integer indexes into the triggers array.
|
||||
*/
|
||||
#define TRIGGER_NUM_EVENT_CLASSES 4
|
||||
#define TRIGGER_NUM_EVENT_CLASSES 3
|
||||
|
||||
uint16 n_before_statement[TRIGGER_NUM_EVENT_CLASSES];
|
||||
uint16 n_before_row[TRIGGER_NUM_EVENT_CLASSES];
|
||||
|
||||
Reference in New Issue
Block a user