diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-11-27 19:52:36 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-11-27 19:52:36 +0000 |
commit | 6beba218d7f6f764e946751df6dc0d0180da05fa (patch) | |
tree | 2801029d61d798d6150bb43a24561a4615aedb8b /src/backend/executor/nodeMaterial.c | |
parent | 2435c7d501b0a3129f6fc597a9c85863541cd596 (diff) | |
download | postgresql-6beba218d7f6f764e946751df6dc0d0180da05fa.tar.gz postgresql-6beba218d7f6f764e946751df6dc0d0180da05fa.zip |
New HeapTuple structure/interface.
Diffstat (limited to 'src/backend/executor/nodeMaterial.c')
-rw-r--r-- | src/backend/executor/nodeMaterial.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/backend/executor/nodeMaterial.c b/src/backend/executor/nodeMaterial.c index 95c8a6f56f3..485b962a895 100644 --- a/src/backend/executor/nodeMaterial.c +++ b/src/backend/executor/nodeMaterial.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeMaterial.c,v 1.17 1998/09/01 04:28:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeMaterial.c,v 1.18 1998/11/27 19:52:03 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -114,13 +114,22 @@ ExecMaterial(Material *node) { slot = ExecProcNode(outerNode, (Plan *) node); - heapTuple = slot->val; - if (heapTuple == NULL) + if (TupIsNull(slot)) break; - - heap_insert(tempRelation, /* relation desc */ - heapTuple); /* heap tuple to insert */ - + + /* + * heap_insert changes something... + */ + if (slot->ttc_buffer != InvalidBuffer) + heapTuple = heap_copytuple(slot->val); + else + heapTuple = slot->val; + + heap_insert(tempRelation, heapTuple); + + if (slot->ttc_buffer != InvalidBuffer) + pfree(heapTuple); + ExecClearTuple(slot); } currentRelation = tempRelation; |