From 1b7f3cc02d6129b678ab651716c19d2bf8f7f6ab Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 23 Nov 2002 03:59:09 +0000 Subject: 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 --- src/backend/nodes/copyfuncs.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src/backend/nodes/copyfuncs.c') diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 2c345b9f785..eb9bbe93658 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.219 2002/11/19 23:21:58 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.220 2002/11/23 03:59:07 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -2482,14 +2482,6 @@ _copyCreateTrigStmt(CreateTrigStmt *from) newnode->before = from->before; newnode->row = from->row; memcpy(newnode->actions, from->actions, sizeof(from->actions)); - if (from->lang) - newnode->lang = pstrdup(from->lang); - if (from->text) - newnode->text = pstrdup(from->text); - - Node_Copy(from, newnode, attr); - if (from->when) - newnode->when = pstrdup(from->when); newnode->isconstraint = from->isconstraint; newnode->deferrable = from->deferrable; newnode->initdeferred = from->initdeferred; -- cgit v1.2.3