aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/freefuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/nodes/freefuncs.c')
-rw-r--r--src/backend/nodes/freefuncs.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/backend/nodes/freefuncs.c b/src/backend/nodes/freefuncs.c
index 7e9ae5d06f6..c11677b5b71 100644
--- a/src/backend/nodes/freefuncs.c
+++ b/src/backend/nodes/freefuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.29 1999/12/16 22:19:47 wieck Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.30 2000/01/09 00:26:23 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -730,11 +730,29 @@ _freeRelOptInfo(RelOptInfo *node)
freeObject(node->targetlist);
freeObject(node->pathlist);
- /* is this right? cheapestpath will typically be a pointer into
+ /* XXX is this right? cheapestpath will typically be a pointer into
* pathlist, won't it?
*/
freeObject(node->cheapestpath);
+ freeObject(node->restrictinfo);
+ freeObject(node->joininfo);
+ freeObject(node->innerjoin);
+
+ pfree(node);
+}
+
+/* ----------------
+ * _freeIndexOptInfo
+ * ----------------
+ */
+static void
+_freeIndexOptInfo(IndexOptInfo *node)
+{
+ /* ----------------
+ * free remainder of node
+ * ----------------
+ */
if (node->classlist)
pfree(node->classlist);
@@ -746,10 +764,6 @@ _freeRelOptInfo(RelOptInfo *node)
freeObject(node->indpred);
- freeObject(node->restrictinfo);
- freeObject(node->joininfo);
- freeObject(node->innerjoin);
-
pfree(node);
}
@@ -837,7 +851,6 @@ _freeTidPath(TidPath *node)
static void
FreeJoinPathFields(JoinPath *node)
{
- freeObject(node->pathinfo);
freeObject(node->outerjoinpath);
freeObject(node->innerjoinpath);
}
@@ -936,7 +949,7 @@ _freeRestrictInfo(RestrictInfo *node)
* ----------------
*/
freeObject(node->clause);
- /* this is certainly wrong? index RelOptInfos don't belong to
+ /* this is certainly wrong? IndexOptInfos don't belong to
* RestrictInfo...
*/
freeObject(node->subclauseindices);
@@ -1253,6 +1266,9 @@ freeObject(void *node)
case T_Stream:
_freeStream(node);
break;
+ case T_IndexOptInfo:
+ _freeIndexOptInfo(node);
+ break;
/*
* PARSE NODES