mirror of
https://github.com/postgres/postgres.git
synced 2026-01-13 12:22:55 +03:00
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.
28 lines
893 B
C
28 lines
893 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* nodeMaterial.h
|
|
*
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: nodeMaterial.h,v 1.13 2000/06/18 22:44:28 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef NODEMATERIAL_H
|
|
#define NODEMATERIAL_H
|
|
|
|
#include "nodes/plannodes.h"
|
|
|
|
extern TupleTableSlot *ExecMaterial(Material *node);
|
|
extern bool ExecInitMaterial(Material *node, EState *estate, Plan *parent);
|
|
extern int ExecCountSlotsMaterial(Material *node);
|
|
extern void ExecEndMaterial(Material *node);
|
|
extern void ExecMaterialMarkPos(Material *node);
|
|
extern void ExecMaterialRestrPos(Material *node);
|
|
extern void ExecMaterialReScan(Material *node, ExprContext *exprCtxt, Plan *parent);
|
|
|
|
#endif /* NODEMATERIAL_H */
|