From 76ce39e386fdcd73c864ac1cf79cb81547e54e4f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 14 Nov 2005 17:42:55 +0000 Subject: Prevent ExecInsert() and ExecUpdate() from scribbling on the result tuple slot of the topmost plan node when a trigger returns a modified tuple. These appear to be the only places where a plan node's caller did not treat the result slot as read-only, which is an assumption that nodeUnique makes as of 8.1. Fixes trigger-vs-DISTINCT bug reported by Frank van Vugt. --- src/backend/executor/execUtils.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/backend/executor/execUtils.c') diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c index 05bfc08dc7d..d9bcd1cf6fe 100644 --- a/src/backend/executor/execUtils.c +++ b/src/backend/executor/execUtils.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/execUtils.c,v 1.126 2005/10/15 02:49:16 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execUtils.c,v 1.127 2005/11/14 17:42:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -187,6 +187,8 @@ CreateExecutorState(void) estate->es_junkFilter = NULL; + estate->es_trig_tuple_slot = NULL; + estate->es_into_relation_descriptor = NULL; estate->es_into_relation_use_wal = false; -- cgit v1.2.3