]> granicus.if.org Git - postgresql/commitdiff
Fixed growing of backend due to not pfree()'d data on COPY FROM
authorJan Wieck <JanWieck@Yahoo.com>
Mon, 1 Feb 1999 20:25:55 +0000 (20:25 +0000)
committerJan Wieck <JanWieck@Yahoo.com>
Mon, 1 Feb 1999 20:25:55 +0000 (20:25 +0000)
Fixed growing of backend if BEFORE DELETE trigger returns heap tuple
different from trigtuple.

Jan

src/backend/commands/copy.c
src/backend/commands/trigger.c

index 3126e82dfc37f1cbb0897855014e772a08674118..e9f4e65fdec1a04da2bdbd92c1dfcbd324999726 100644 (file)
@@ -6,7 +6,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.68 1999/01/23 22:27:26 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.69 1999/02/01 20:25:54 wieck Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -651,7 +651,6 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
        lineno = 0;
        while (!done)
        {
-         values = (Datum *) palloc(sizeof(Datum) * attr_count);
                if (!binary)
                {
 #ifdef COPY_PATCH
index aac9f2599f52cecd69f71739af94bb848f0bcc9f..20a542eee5bb2783f17fb8d33d362e7e80ba7385 100644 (file)
@@ -684,6 +684,8 @@ ExecBRDeleteTriggers(EState *estate, ItemPointer tupleid)
                newtuple = ExecCallTriggerFunc(trigger[i]);
                if (newtuple == NULL)
                        break;
+               if (newtuple != trigtuple)
+                       pfree(newtuple);
        }
        CurrentTriggerData = NULL;
        pfree(SaveTriggerData);