diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 75fa4d8b2be0684cdb016dc5326b0084568138a9..0983097ace651be1907646b8b74a961973e6d02d 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -4,7 +4,7 @@
  *
  * Copyright (c) 1994-5, Regents of the University of California
  *
- *	  $Id: explain.c,v 1.32 1999/02/13 23:15:06 momjian Exp $
+ *	  $Id: explain.c,v 1.33 1999/03/23 16:50:46 momjian Exp $
  *
  */
 #include <stdio.h>
@@ -194,9 +194,6 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es)
 		case T_Hash:
 			pname = "Hash";
 			break;
-		case T_Tee:
-			pname = "Tee";
-			break;
 		default:
 			pname = "";
 			break;
diff --git a/src/backend/executor/Makefile b/src/backend/executor/Makefile
index 59339d147330af92b069e98be8ec259ec29fba24..4f8c1341c8312baa2c5b48dd4d6e4048549cb9d0 100644
--- a/src/backend/executor/Makefile
+++ b/src/backend/executor/Makefile
@@ -4,7 +4,7 @@
 #    Makefile for executor
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/backend/executor/Makefile,v 1.7 1998/04/06 00:22:26 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/backend/executor/Makefile,v 1.8 1999/03/23 16:50:46 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -18,7 +18,7 @@ OBJS = execAmi.o execFlatten.o execJunk.o execMain.o \
        execUtils.o functions.o nodeAppend.o nodeAgg.o nodeHash.o \
        nodeHashjoin.o nodeIndexscan.o nodeMaterial.o nodeMergejoin.o \
        nodeNestloop.o nodeResult.o nodeSeqscan.o nodeSort.o \
-       nodeUnique.o nodeTee.o nodeGroup.o spi.o nodeSubplan.o
+       nodeUnique.o nodeGroup.o spi.o nodeSubplan.o
 
 all: SUBSYS.o
 
diff --git a/src/backend/executor/nodeTee.c b/src/backend/executor/_deadcode/nodeTee.c
similarity index 99%
rename from src/backend/executor/nodeTee.c
rename to src/backend/executor/_deadcode/nodeTee.c
index ed9a6eea2fe012a31950f71c09ed9b3093538402..b06c700c4621bf5aa12cde3be861bdf5f19c3b08 100644
--- a/src/backend/executor/nodeTee.c
+++ b/src/backend/executor/_deadcode/nodeTee.c
@@ -14,7 +14,7 @@
  *		ExecInitTee
  *		ExecEndTee
  *
- *  $Id: nodeTee.c,v 1.30 1999/02/13 23:15:29 momjian Exp $
+ *  $Id: nodeTee.c,v 1.1 1999/03/23 16:50:49 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c
index a25b2fa45dc6b1fdf1fc752bdc7b83c4a7f9e27d..83d0c3b6cad75c347c8004475d42949f5a980345 100644
--- a/src/backend/executor/execAmi.c
+++ b/src/backend/executor/execAmi.c
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *  $Id: execAmi.c,v 1.32 1999/02/13 23:15:14 momjian Exp $
+ *  $Id: execAmi.c,v 1.33 1999/03/23 16:50:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -34,7 +34,6 @@
 #include "executor/nodeSeqscan.h"
 #include "executor/nodeIndexscan.h"
 #include "executor/nodeSort.h"
-#include "executor/nodeTee.h"
 #include "executor/nodeMaterial.h"
 #include "executor/nodeNestloop.h"
 #include "executor/nodeHashjoin.h"
@@ -382,12 +381,6 @@ ExecReScan(Plan *node, ExprContext *exprCtxt, Plan *parent)
 			ExecReScanAppend((Append *) node, exprCtxt, parent);
 			break;
 
-/*
- * Tee is never used
-		case T_Tee:
-			ExecTeeReScan((Tee *) node, exprCtxt, parent);
-			break;
- */
 		default:
 			elog(ERROR, "ExecReScan: node type %u not supported", nodeTag(node));
 			return;
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 793d8d3c3641de11634012a3ba49260284edb941..a4be9a3967c62bc1199fc2b606d37d6df204de52 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,7 +26,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.81 1999/03/20 01:13:21 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.82 1999/03/23 16:50:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -884,7 +884,6 @@ ExecutePlan(EState *estate,
 			DestReceiver* destfunc)
 {
 	JunkFilter *junkfilter;
-
 	TupleTableSlot *slot;
 	ItemPointer tupleid = NULL;
 	ItemPointerData tuple_ctid;
@@ -898,7 +897,7 @@ ExecutePlan(EState *estate,
 	current_tuple_count = 0;
 	result = NULL;
 
-	/*
+ 	/*
 	 *	Set the direction.
 	 */
 	estate->es_direction = direction;
diff --git a/src/backend/executor/execProcnode.c b/src/backend/executor/execProcnode.c
index b41e3ed9d45371370c554bf04e2d95f740e839c6..1b693cbcaf12b5373db04127fdaa7e95ec4728db 100644
--- a/src/backend/executor/execProcnode.c
+++ b/src/backend/executor/execProcnode.c
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/executor/execProcnode.c,v 1.13 1999/02/13 23:15:17 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/executor/execProcnode.c,v 1.14 1999/03/23 16:50:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -90,7 +90,6 @@
 #include "executor/nodeAgg.h"
 #include "executor/nodeHash.h"
 #include "executor/nodeHashjoin.h"
-#include "executor/nodeTee.h"
 #include "executor/nodeSubplan.h"
 
 /* ------------------------------------------------------------------------
@@ -196,10 +195,6 @@ ExecInitNode(Plan *node, EState *estate, Plan *parent)
 			result = ExecInitHashJoin((HashJoin *) node, estate, parent);
 			break;
 
-		case T_Tee:
-			result = ExecInitTee((Tee *) node, estate, parent);
-			break;
-
 		default:
 			elog(ERROR, "ExecInitNode: node %d unsupported", nodeTag(node));
 			result = FALSE;
@@ -248,7 +243,7 @@ ExecProcNode(Plan *node, Plan *parent)
 	switch (nodeTag(node))
 	{
 			/* ----------------
-			 *		control nodes
+			 *	control nodes
 			 * ----------------
 			 */
 		case T_Result:
@@ -315,10 +310,6 @@ ExecProcNode(Plan *node, Plan *parent)
 			result = ExecHashJoin((HashJoin *) node);
 			break;
 
-		case T_Tee:
-			result = ExecTee((Tee *) node, parent);
-			break;
-
 		default:
 			elog(ERROR, "ExecProcNode: node %d unsupported", nodeTag(node));
 			result = NULL;
@@ -390,9 +381,6 @@ ExecCountSlotsNode(Plan *node)
 		case T_HashJoin:
 			return ExecCountSlotsHashJoin((HashJoin *) node);
 
-		case T_Tee:
-			return ExecCountSlotsTee((Tee *) node);
-
 		default:
 			elog(ERROR, "ExecCountSlotsNode: node not yet supported: %d",
 				 nodeTag(node));
@@ -509,10 +497,6 @@ ExecEndNode(Plan *node, Plan *parent)
 			ExecEndHashJoin((HashJoin *) node);
 			break;
 
-		case T_Tee:
-			ExecEndTee((Tee *) node, parent);
-			break;
-
 		default:
 			elog(ERROR, "ExecEndNode: node %d unsupported", nodeTag(node));
 			break;
diff --git a/src/backend/executor/execTuples.c b/src/backend/executor/execTuples.c
index bcabdef6be4509c730ff7a5cd2909048a90ff6f4..148b6b11c178a7fd3f549ee96643a92b8b51123c 100644
--- a/src/backend/executor/execTuples.c
+++ b/src/backend/executor/execTuples.c
@@ -14,7 +14,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.23 1999/02/13 23:15:19 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.24 1999/03/23 16:50:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -800,14 +800,6 @@ NodeGetResultTupleSlot(Plan *node)
 			}
 			break;
 
-		case T_Tee:
-			{
-				TeeState   *teestate = ((Tee *) node)->teestate;
-
-				slot = teestate->cstate.cs_ResultTupleSlot;
-			}
-			break;
-
 		default:
 			/* ----------------
 			 *	  should never get here
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index 11f79e4722001f0870225a38545c904576787a5b..e4816e2e2569e4f80e2e61cc0031bd80bbf283a1 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *  $Id: outfuncs.c,v 1.77 1999/03/01 00:10:31 tgl Exp $
+ *  $Id: outfuncs.c,v 1.78 1999/03/23 16:50:53 momjian Exp $
  *
  * NOTES
  *	  Every (plan) node in POSTGRES has an associated "out" routine which
@@ -544,20 +544,6 @@ _outHash(StringInfo str, Hash *node)
 			node->hashtablesize);
 }
 
-static void
-_outTee(StringInfo str, Tee *node)
-{
-	appendStringInfo(str, " TEE ");
-	_outPlanInfo(str, (Plan *) node);
-
-	appendStringInfo(str, " :leftParent %X :rightParent %X ",
-		(int) node->leftParent,
-		(int) node->rightParent);
-
-	appendStringInfo(str, " :rtentries ");
-	_outNode(str, node->rtentries);
-}
-
 /*****************************************************************************
  *
  *	Stuff from primnodes.h.
@@ -1528,9 +1514,6 @@ _outNode(StringInfo str, void *obj)
 			case T_SubPlan:
 				_outSubPlan(str, obj);
 				break;
-			case T_Tee:
-				_outTee(str, obj);
-				break;
 			case T_Resdom:
 				_outResdom(str, obj);
 				break;
diff --git a/src/backend/nodes/print.c b/src/backend/nodes/print.c
index d13819a11de94cd645c6fcc56390f8e314d806a6..7d8e6e64b45c843cfe3216c247e8c2d821f56907 100644
--- a/src/backend/nodes/print.c
+++ b/src/backend/nodes/print.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.25 1999/02/22 01:57:50 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.26 1999/03/23 16:50:54 momjian Exp $
  *
  * HISTORY
  *	  AUTHOR			DATE			MAJOR EVENT
@@ -339,9 +339,6 @@ plannode_type(Plan *p)
 		case T_Hash:
 			return "HASH";
 			break;
-		case T_Tee:
-			return "TEE";
-			break;
 		case T_Choose:
 			return "CHOOSE";
 			break;
diff --git a/src/include/executor/nodeTee.h b/src/include/executor/nodeTee.h
deleted file mode 100644
index 817228e4cdc4f6523a811a888e04cba684cd9fed..0000000000000000000000000000000000000000
--- a/src/include/executor/nodeTee.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * nodeTee.h
- *	  support functions for a Tee executor node
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- * $Id: nodeTee.h,v 1.8 1999/02/13 23:21:29 momjian Exp $
- *
- *-------------------------------------------------------------------------
- */
-
-#ifndef NODETEE_H
-#define NODETEE_H
-
-#include "executor/tuptable.h"
-#include "nodes/execnodes.h"
-#include "nodes/plannodes.h"
-
-extern TupleTableSlot *ExecTee(Tee *node, Plan *parent);
-extern bool ExecInitTee(Tee *node, EState *estate, Plan *parent);
-extern void ExecEndTee(Tee *node, Plan *parent);
-extern int	ExecCountSlotsTee(Tee *node);
-
-#endif	 /* NODETEE_H */
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h
index c7f6fa35b2d245a09ead74539f4e82395f52590f..9685dacc62ec2abfb98f2a7eeb000afc3e6baa61 100644
--- a/src/include/nodes/execnodes.h
+++ b/src/include/nodes/execnodes.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: execnodes.h,v 1.26 1999/02/28 00:36:04 tgl Exp $
+ * $Id: execnodes.h,v 1.27 1999/03/23 16:51:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -686,6 +686,7 @@ typedef struct HashState
 	File	   *hashBatches;
 } HashState;
 
+#ifdef NOT_USED
 /* -----------------------
  *	TeeState information
  *	  leftPlace  :	  next item in the queue unseen by the left parent
@@ -704,13 +705,14 @@ typedef struct TeeState
 {
 	CommonState	 cstate;			/* its first field is NodeTag */
 	int						tee_leftPlace,
-								tee_rightPlace,
-								tee_lastPlace;
+							tee_rightPlace,
+							tee_lastPlace;
 	char					*tee_bufferRelname;
-	Relation			tee_bufferRel;
+	Relation				tee_bufferRel;
 	MemoryContext tee_mcxt;
-	HeapScanDesc	tee_leftScanDesc,
-								tee_rightScanDesc;
+	HeapScanDesc			tee_leftScanDesc,
+							tee_rightScanDesc;
 } TeeState;
+#endif
 
 #endif	 /* EXECNODES_H */
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index c56b1fa9dc12160bd18987553b5b41af963a293b..09d5a1bae5e5bf1eb89df616f3b8de4d5a9d9779 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nodes.h,v 1.47 1999/03/07 03:34:11 momjian Exp $
+ * $Id: nodes.h,v 1.48 1999/03/23 16:51:03 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -45,7 +45,6 @@ typedef enum NodeTag
 	T_Unique,
 	T_Hash,
 	T_Choose,
-	T_Tee,
 	T_Group,
 	T_SubPlan,
 
@@ -117,7 +116,6 @@ typedef enum NodeTag
 	T_SortState,
 	T_UniqueState,
 	T_HashState,
-	T_TeeState,
 
 	/*---------------------
 	 * TAGS FOR MEMORY NODES (memnodes.h)
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h
index 3d3b2ca917d5cdc8942d23b9d4c6e960d4c58e06..25c38f228cc383ad66efda18ff9d73fa7411a6bd 100644
--- a/src/include/nodes/plannodes.h
+++ b/src/include/nodes/plannodes.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: plannodes.h,v 1.23 1999/03/01 00:10:36 tgl Exp $
+ * $Id: plannodes.h,v 1.24 1999/03/23 16:51:04 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -325,6 +325,7 @@ typedef struct Hash
 	int			hashtablesize;
 } Hash;
 
+#ifdef NOT_USED
 /* -------------------
  *		Tee node information
  *
@@ -344,6 +345,7 @@ typedef struct Tee
 								 * Tee may be different than the parent
 								 * plans */
 } Tee;
+#endif
 
 /* ---------------------
  *		SubPlan node