From 0143d391c637daa8ebea41bc2c7a1f97660d4246 Mon Sep 17 00:00:00 2001
From: Jan Wieck <JanWieck@Yahoo.com>
Date: Fri, 21 Jul 2000 11:18:51 +0000
Subject: [PATCH] Need to switch to tuples memory context when replacing the
 toasted one with the plain one.

Jan
---
 src/backend/access/heap/heapam.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 16d2ed470e..08c9b87b79 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.80 2000/07/21 10:31:30 wieck Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.81 2000/07/21 11:18:51 wieck Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -1360,7 +1360,11 @@ heap_insert(Relation relation, HeapTuple tup)
 	{
 		if (tup->t_datamcxt != NULL && (char *) (tup->t_data) !=
 					((char *) tup + HEAPTUPLESIZE))
+		{
+			MemoryContext oldcxt = MemoryContextSwitchTo(tup->t_datamcxt);
 			pfree(tup->t_data);
+			MemoryContextSwitchTo(oldcxt);
+		}
 	    tup->t_data = plaintdata;
 		tup->t_len  = plaintlen;
 	}
@@ -1672,7 +1676,11 @@ l2:
 	{
 		if (newtup->t_datamcxt != NULL && (char *) (newtup->t_data) !=
 					((char *) newtup + HEAPTUPLESIZE))
+		{
+			MemoryContext oldcxt = MemoryContextSwitchTo(newtup->t_datamcxt);
 			pfree(newtup->t_data);
+			MemoryContextSwitchTo(oldcxt);
+		}
 	    newtup->t_data = plaintdata;
 		newtup->t_len  = plaintlen;
 	}
-- 
2.24.1