diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-06-18 22:44:35 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-06-18 22:44:35 +0000 |
commit | 1ee26b776475155ad1fb00fa3ed0a93659ffadad (patch) | |
tree | 1f2c7a59a1fdf3fe3eb62cf5044c5c6c21f77d12 /src/backend/nodes/freefuncs.c | |
parent | 2c0edb3c8677831d836fc44eb58ebecb73f747af (diff) | |
download | postgresql-1ee26b776475155ad1fb00fa3ed0a93659ffadad.tar.gz postgresql-1ee26b776475155ad1fb00fa3ed0a93659ffadad.zip |
Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the
materialized tupleset is small enough) instead of a temporary relation.
This was something I was thinking of doing anyway for performance, and Jan
says he needs it for TOAST because he doesn't want to cope with toasting
noname relations. With this change, the 'noname table' support in heap.c
is dead code, and I have accordingly removed it. Also clean up 'noname'
plan handling in planner --- nonames are either sort or materialize plans,
and it seems less confusing to handle them separately under those names.
Diffstat (limited to 'src/backend/nodes/freefuncs.c')
-rw-r--r-- | src/backend/nodes/freefuncs.c | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/src/backend/nodes/freefuncs.c b/src/backend/nodes/freefuncs.c index 59e2ac1154e..3353a82d9d7 100644 --- a/src/backend/nodes/freefuncs.c +++ b/src/backend/nodes/freefuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.41 2000/05/28 17:55:57 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.42 2000/06/18 22:44:05 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -306,37 +306,6 @@ _freeHashJoin(HashJoin *node) /* ---------------- - * FreeNonameFields - * - * This function frees the fields of the Noname node. It is used by - * all the free functions for classes which inherit node Noname. - * ---------------- - */ -static void -FreeNonameFields(Noname *node) -{ - return; -} - - -/* ---------------- - * _freeNoname - * ---------------- - */ -static void -_freeNoname(Noname *node) -{ - /* ---------------- - * free node superclass fields - * ---------------- - */ - FreePlanFields((Plan *) node); - FreeNonameFields(node); - - pfree(node); -} - -/* ---------------- * _freeMaterial * ---------------- */ @@ -348,7 +317,6 @@ _freeMaterial(Material *node) * ---------------- */ FreePlanFields((Plan *) node); - FreeNonameFields((Noname *) node); pfree(node); } @@ -366,7 +334,6 @@ _freeSort(Sort *node) * ---------------- */ FreePlanFields((Plan *) node); - FreeNonameFields((Noname *) node); pfree(node); } @@ -421,7 +388,6 @@ _freeUnique(Unique *node) * ---------------- */ FreePlanFields((Plan *) node); - FreeNonameFields((Noname *) node); /* ---------------- * free remainder of node @@ -1194,9 +1160,6 @@ freeObject(void *node) case T_HashJoin: _freeHashJoin(node); break; - case T_Noname: - _freeNoname(node); - break; case T_Material: _freeMaterial(node); break; |