summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Wieck1999-02-01 20:25:55 +0000
committerJan Wieck1999-02-01 20:25:55 +0000
commit7fc75517df6b8f70c57b95e879fd9696935c22fd (patch)
tree2d8db8c851ae6cced43fb41bbbffcd56d61c9279
parent072be4720273e02dcea71a8f805f377a35135108 (diff)
Fixed growing of backend due to not pfree()'d data on COPY FROM
Fixed growing of backend if BEFORE DELETE trigger returns heap tuple different from trigtuple. Jan
-rw-r--r--src/backend/commands/copy.c3
-rw-r--r--src/backend/commands/trigger.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 3126e82dfc3..e9f4e65fdec 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -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
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index aac9f2599f5..20a542eee5b 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -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);