]> granicus.if.org Git - postgresql/commitdiff
COPY should handle after-insert triggers the same as execMain.c does.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Mar 2001 21:47:50 +0000 (21:47 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Mar 2001 21:47:50 +0000 (21:47 +0000)
I'm not sure that it's really necessary to save insert events when there
are only after update or delete triggers, but certainly it's wrong for
COPY to behave differently from an INSERT query.

src/backend/commands/copy.c

index 7d0352506ca8316a158db9a66323302e8832c9c8..b518ef572e131a03283a3c83dd67b2a8a4b4ef30 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.133 2001/01/29 00:39:20 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.134 2001/03/14 21:47:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -877,12 +877,12 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp,
 
                if (!skip_tuple)
                {
+                       ExecStoreTuple(tuple, slot, InvalidBuffer, false);
+
                        /* ----------------
                         * Check the constraints of the tuple
                         * ----------------
                         */
-                       ExecStoreTuple(tuple, slot, InvalidBuffer, false);
-
                        if (rel->rd_att->constr)
                                ExecConstraints("CopyFrom", resultRelInfo, slot, estate);
 
@@ -896,8 +896,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp,
                                ExecInsertIndexTuples(slot, &(tuple->t_self), estate, false);
 
                        /* AFTER ROW INSERT Triggers */
-                       if (rel->trigdesc &&
-                               rel->trigdesc->n_after_row[TRIGGER_EVENT_INSERT] > 0)
+                       if (rel->trigdesc)
                                ExecARInsertTriggers(estate, rel, tuple);
                }