mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Make functions static where possible, enclose unused functions in #ifdef NOT_USED.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.4 1996/11/08 00:45:54 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.5 1997/08/19 21:30:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -43,6 +43,10 @@
|
||||
#include "access/heapam.h"
|
||||
#include "catalog/heap.h"
|
||||
|
||||
static Pointer ExecBeginScan(Relation relation, int nkeys, ScanKey skeys,
|
||||
bool isindex, ScanDirection dir, TimeQual time_range);
|
||||
static Relation ExecOpenR(Oid relationOid, bool isindex);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* ExecOpenScanR
|
||||
*
|
||||
@@ -99,7 +103,7 @@ ExecOpenScanR(Oid relOid,
|
||||
* returns a relation descriptor given an object id.
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Relation
|
||||
static Relation
|
||||
ExecOpenR(Oid relationOid, bool isindex)
|
||||
{
|
||||
Relation relation;
|
||||
@@ -133,7 +137,7 @@ ExecOpenR(Oid relationOid, bool isindex)
|
||||
* -cim 9/14/89
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Pointer
|
||||
static Pointer
|
||||
ExecBeginScan(Relation relation,
|
||||
int nkeys,
|
||||
ScanKey skeys,
|
||||
|
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/Attic/execFlatten.c,v 1.1.1.1 1996/07/09 06:21:24 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/Attic/execFlatten.c,v 1.2 1997/08/19 21:30:56 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -32,6 +32,11 @@
|
||||
#include "executor/executor.h"
|
||||
#include "executor/execFlatten.h"
|
||||
|
||||
#ifdef SETS_FIXED
|
||||
static bool FjoinBumpOuterNodes(TargetEntry *tlist, ExprContext *econtext,
|
||||
DatumPtr results, char *nulls);
|
||||
#endif
|
||||
|
||||
Datum
|
||||
ExecEvalIter(Iter *iterNode,
|
||||
ExprContext *econtext,
|
||||
@@ -168,13 +173,13 @@ ExecEvalFjoin(TargetEntry *tlist,
|
||||
return;
|
||||
}
|
||||
|
||||
bool
|
||||
#ifdef SETS_FIXED
|
||||
static bool
|
||||
FjoinBumpOuterNodes(TargetEntry *tlist,
|
||||
ExprContext *econtext,
|
||||
DatumPtr results,
|
||||
char *nulls)
|
||||
{
|
||||
#ifdef SETS_FIXED
|
||||
bool funcIsDone = true;
|
||||
Fjoin *fjNode = tlist->fjoin;
|
||||
char *alwaysDone = fjNode->fj_alwaysDone;
|
||||
@@ -231,6 +236,5 @@ FjoinBumpOuterNodes(TargetEntry *tlist,
|
||||
trailers = lnext(trailers);
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
@@ -26,7 +26,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.16 1997/08/19 04:43:45 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.17 1997/08/19 21:31:00 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -80,12 +80,14 @@ static int queryLimit = ALL_TUPLES;
|
||||
#undef ALL_TUPLES
|
||||
#define ALL_TUPLES queryLimit
|
||||
|
||||
#ifdef NOT_USED
|
||||
int
|
||||
ExecutorLimit(int limit)
|
||||
{
|
||||
return queryLimit = limit;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* ExecutorStart
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.11 1997/04/22 03:32:35 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.12 1997/08/19 21:31:03 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -72,6 +72,19 @@ int execConstLen;
|
||||
static Datum ExecEvalAggreg(Aggreg *agg, ExprContext *econtext, bool *isNull);
|
||||
static Datum ExecEvalArrayRef(ArrayRef *arrayRef, ExprContext *econtext,
|
||||
bool *isNull, bool *isDone);
|
||||
static Datum ExecEvalAnd(Expr *andExpr, ExprContext *econtext, bool *isNull);
|
||||
static Datum ExecEvalFunc(Expr *funcClause, ExprContext *econtext,
|
||||
bool *isNull, bool *isDone);
|
||||
static void ExecEvalFuncArgs(FunctionCachePtr fcache, ExprContext *econtext,
|
||||
List *argList, Datum argV[], bool *argIsDone);
|
||||
static Datum ExecEvalNot(Expr *notclause, ExprContext *econtext, bool *isNull);
|
||||
static Datum ExecEvalOper(Expr *opClause, ExprContext *econtext,
|
||||
bool *isNull);
|
||||
static Datum ExecEvalOr(Expr *orExpr, ExprContext *econtext, bool *isNull);
|
||||
static Datum ExecEvalVar(Var *variable, ExprContext *econtext, bool *isNull);
|
||||
static Datum ExecMakeFunctionResult(Node *node, List *arguments,
|
||||
ExprContext *econtext, bool *isNull, bool *isDone);
|
||||
static bool ExecQualClause(Node *clause, ExprContext *econtext);
|
||||
|
||||
/* --------------------------------
|
||||
* ExecEvalArrayRef
|
||||
@@ -201,7 +214,7 @@ ExecEvalAggreg(Aggreg *agg, ExprContext *econtext, bool *isNull)
|
||||
* We have an Assert to make sure this entry condition is met.
|
||||
*
|
||||
* ---------------------------------------------------------------- */
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalVar(Var *variable, ExprContext *econtext, bool *isNull)
|
||||
{
|
||||
Datum result;
|
||||
@@ -460,7 +473,8 @@ ExecEvalParam(Param *expression, ExprContext *econtext, bool *isNull)
|
||||
* to use this. Ex: overpaid(EMP) might call GetAttributeByNum().
|
||||
* ----------------
|
||||
*/
|
||||
char *
|
||||
#ifdef NOT_USED
|
||||
static char *
|
||||
GetAttributeByNum(TupleTableSlot *slot,
|
||||
AttrNumber attrno,
|
||||
bool *isNull)
|
||||
@@ -492,8 +506,10 @@ GetAttributeByNum(TupleTableSlot *slot,
|
||||
return (char *) NULL;
|
||||
return (char *) retval;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* XXX char16 name for catalogs */
|
||||
#ifdef NOT_USED
|
||||
char *
|
||||
att_by_num(TupleTableSlot *slot,
|
||||
AttrNumber attrno,
|
||||
@@ -501,6 +517,7 @@ att_by_num(TupleTableSlot *slot,
|
||||
{
|
||||
return(GetAttributeByNum(slot, attrno, isNull));
|
||||
}
|
||||
#endif
|
||||
|
||||
char *
|
||||
GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
@@ -552,13 +569,15 @@ GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
}
|
||||
|
||||
/* XXX char16 name for catalogs */
|
||||
#ifdef NOT_USED
|
||||
char *
|
||||
att_by_name(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
{
|
||||
return(GetAttributeByName(slot, attname, isNull));
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
static void
|
||||
ExecEvalFuncArgs(FunctionCachePtr fcache,
|
||||
ExprContext *econtext,
|
||||
List *argList,
|
||||
@@ -603,7 +622,7 @@ ExecEvalFuncArgs(FunctionCachePtr fcache,
|
||||
* ExecMakeFunctionResult
|
||||
* ----------------
|
||||
*/
|
||||
Datum
|
||||
static Datum
|
||||
ExecMakeFunctionResult(Node *node,
|
||||
List *arguments,
|
||||
ExprContext *econtext,
|
||||
@@ -785,7 +804,7 @@ ExecMakeFunctionResult(Node *node,
|
||||
* ExecEvalOper
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalOper(Expr *opClause, ExprContext *econtext, bool *isNull)
|
||||
{
|
||||
Oper *op;
|
||||
@@ -829,7 +848,7 @@ ExecEvalOper(Expr *opClause, ExprContext *econtext, bool *isNull)
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalFunc(Expr *funcClause,
|
||||
ExprContext *econtext,
|
||||
bool *isNull,
|
||||
@@ -883,7 +902,7 @@ ExecEvalFunc(Expr *funcClause,
|
||||
* need to know this, mind you...
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalNot(Expr *notclause, ExprContext *econtext, bool *isNull)
|
||||
{
|
||||
Datum expr_value;
|
||||
@@ -922,7 +941,7 @@ ExecEvalNot(Expr *notclause, ExprContext *econtext, bool *isNull)
|
||||
* ExecEvalOr
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalOr(Expr *orExpr, ExprContext *econtext, bool *isNull)
|
||||
{
|
||||
List *clauses;
|
||||
@@ -985,7 +1004,7 @@ ExecEvalOr(Expr *orExpr, ExprContext *econtext, bool *isNull)
|
||||
* ExecEvalAnd
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Datum
|
||||
static Datum
|
||||
ExecEvalAnd(Expr *andExpr, ExprContext *econtext, bool *isNull)
|
||||
{
|
||||
List *clauses;
|
||||
@@ -1168,7 +1187,7 @@ ExecEvalExpr(Node *expression,
|
||||
* rest of the qualification)
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
bool
|
||||
static bool
|
||||
ExecQualClause(Node *clause, ExprContext *econtext)
|
||||
{
|
||||
Datum expr_value;
|
||||
|
@@ -14,7 +14,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.5 1996/12/11 00:26:38 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.6 1997/08/19 21:31:05 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -131,6 +131,9 @@
|
||||
#include "parser/catalog_utils.h"
|
||||
#include "catalog/pg_type.h"
|
||||
|
||||
static TupleTableSlot *NodeGetResultTupleSlot(Plan *node);
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* tuple table create/delete functions
|
||||
* ----------------------------------------------------------------
|
||||
@@ -428,11 +431,13 @@ ExecClearTuple(TupleTableSlot* slot) /* slot in which to store tuple */
|
||||
* merge joins that you need to diddle the slot policy.
|
||||
* --------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
bool /* return: slot policy */
|
||||
ExecSlotPolicy(TupleTableSlot* slot) /* slot to inspect */
|
||||
{
|
||||
return slot->ttc_shouldFree;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --------------------------------
|
||||
* ExecSetSlotPolicy
|
||||
@@ -500,6 +505,7 @@ ExecSetSlotDescriptorIsNew(TupleTableSlot *slot,/* slot to change */
|
||||
* with the slot's tuple, and set the "isNew" flag at the same time.
|
||||
* --------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
TupleDesc /* return: old slot tuple descriptor */
|
||||
ExecSetNewSlotDescriptor(TupleTableSlot *slot, /* slot to change */
|
||||
TupleDesc tupdesc) /* tuple descriptor */
|
||||
@@ -510,6 +516,7 @@ ExecSetNewSlotDescriptor(TupleTableSlot *slot, /* slot to change */
|
||||
|
||||
return old_tupdesc;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --------------------------------
|
||||
* ExecSlotBuffer
|
||||
@@ -532,6 +539,7 @@ ExecSetNewSlotDescriptor(TupleTableSlot *slot, /* slot to change */
|
||||
* also use ExecIncrSlotBufferRefcnt().
|
||||
* --------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
Buffer /* return: old slot buffer */
|
||||
ExecSetSlotBuffer(TupleTableSlot *slot, /* slot to change */
|
||||
Buffer b) /* tuple descriptor */
|
||||
@@ -541,6 +549,7 @@ ExecSetSlotBuffer(TupleTableSlot *slot, /* slot to change */
|
||||
|
||||
return oldb;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --------------------------------
|
||||
* ExecIncrSlotBufferRefcnt
|
||||
@@ -602,6 +611,7 @@ TupIsNull(TupleTableSlot* slot) /* slot to check */
|
||||
* now storing a new type of tuple in this slot
|
||||
* --------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
bool /* return: descriptor "is new" */
|
||||
ExecSlotDescriptorIsNew(TupleTableSlot *slot) /* slot to inspect */
|
||||
{
|
||||
@@ -609,6 +619,7 @@ ExecSlotDescriptorIsNew(TupleTableSlot *slot) /* slot to inspect */
|
||||
return isNew; */
|
||||
return slot->ttc_descIsNew;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* convenience initialization routines
|
||||
@@ -686,6 +697,7 @@ ExecInitOuterTupleSlot(EState *estate, HashJoinState *hashstate)
|
||||
* ExecInitHashTupleSlot
|
||||
* ----------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
void
|
||||
ExecInitHashTupleSlot(EState *estate, HashJoinState *hashstate)
|
||||
{
|
||||
@@ -693,8 +705,9 @@ ExecInitHashTupleSlot(EState *estate, HashJoinState *hashstate)
|
||||
INIT_SLOT_ALLOC;
|
||||
hashstate->hj_HashTupleSlot = slot;
|
||||
}
|
||||
#endif
|
||||
|
||||
TupleTableSlot *
|
||||
static TupleTableSlot *
|
||||
NodeGetResultTupleSlot(Plan *node)
|
||||
{
|
||||
TupleTableSlot *slot;
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.10 1997/08/18 20:52:27 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.11 1997/08/19 21:31:06 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -58,6 +58,9 @@
|
||||
#include "catalog/pg_type.h"
|
||||
#include "parser/parsetree.h"
|
||||
|
||||
static void ExecGetIndexKeyInfo(IndexTupleForm indexTuple, int *numAttsOutP,
|
||||
AttrNumber **attsOutP, FuncIndexInfoPtr fInfoP);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* global counters for number of tuples processed, retrieved,
|
||||
* appended, replaced, deleted.
|
||||
@@ -82,6 +85,7 @@ extern int NIndexTupleProcessed; /* have to be defined in the access
|
||||
* ResetTupleCount
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
void
|
||||
ResetTupleCount(void)
|
||||
{
|
||||
@@ -92,11 +96,13 @@ ResetTupleCount(void)
|
||||
NTupleReplaced = 0;
|
||||
NIndexTupleProcessed = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* PrintTupleCount
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
void
|
||||
DisplayTupleCount(FILE *statfp)
|
||||
{
|
||||
@@ -127,6 +133,7 @@ DisplayTupleCount(FILE *statfp)
|
||||
(NTupleReplaced == 1) ? "" : "s");
|
||||
fprintf(statfp, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* miscellanious init node support functions
|
||||
@@ -287,6 +294,7 @@ ExecGetResultType(CommonState *commonstate)
|
||||
* ExecFreeResultType
|
||||
* ----------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
void
|
||||
ExecFreeResultType(CommonState *commonstate)
|
||||
{
|
||||
@@ -299,7 +307,7 @@ ExecFreeResultType(CommonState *commonstate)
|
||||
/* ExecFreeTypeInfo(tupType); */
|
||||
pfree(tupType);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ----------------
|
||||
* ExecAssignProjectionInfo
|
||||
@@ -382,6 +390,7 @@ ExecGetScanType(CommonScanState *csstate)
|
||||
* ExecFreeScanType
|
||||
* ----------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
void
|
||||
ExecFreeScanType(CommonScanState *csstate)
|
||||
{
|
||||
@@ -394,6 +403,7 @@ ExecFreeScanType(CommonScanState *csstate)
|
||||
/* ExecFreeTypeInfo(tupType); */
|
||||
pfree(tupType);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ----------------
|
||||
* ExecAssignScanType
|
||||
@@ -581,7 +591,7 @@ QueryDescGetTypeInfo(QueryDesc *queryDesc)
|
||||
* parameters.
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
void
|
||||
static void
|
||||
ExecGetIndexKeyInfo(IndexTupleForm indexTuple,
|
||||
int *numAttsOutP,
|
||||
AttrNumber **attsOutP,
|
||||
@@ -938,6 +948,7 @@ ExecCloseIndices(RelationInfo *resultRelationInfo)
|
||||
* set of routines..
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
#ifdef NOT_USED
|
||||
IndexTuple
|
||||
ExecFormIndexTuple(HeapTuple heapTuple,
|
||||
Relation heapRelation,
|
||||
@@ -1011,6 +1022,7 @@ ExecFormIndexTuple(HeapTuple heapTuple,
|
||||
|
||||
return indexTuple;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* ExecInsertIndexTuples
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeAppend.c,v 1.4 1996/11/06 06:47:39 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeAppend.c,v 1.5 1997/08/19 21:31:07 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -64,6 +64,8 @@
|
||||
#include "utils/mcxt.h"
|
||||
#include "parser/parsetree.h" /* for rt_store() macro */
|
||||
|
||||
static bool exec_append_initialize_next(Append *node);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* exec-append-initialize-next
|
||||
*
|
||||
@@ -73,7 +75,7 @@
|
||||
* Returns t iff there is a "next" scan to process.
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
bool
|
||||
static bool
|
||||
exec_append_initialize_next(Append *node)
|
||||
{
|
||||
EState *estate;
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.9 1997/07/28 00:53:58 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.10 1997/08/19 21:31:08 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -47,6 +47,11 @@ static int HashTBSize;
|
||||
|
||||
static void mk_hj_temp(char *tempname);
|
||||
static int hashFunc(char *key, int len);
|
||||
static int ExecHashPartition(Hash *node);
|
||||
static RelativeAddr hashTableAlloc(int size, HashJoinTable hashtable);
|
||||
static void ExecHashOverflowInsert(HashJoinTable hashtable,
|
||||
HashBucket bucket,
|
||||
HeapTuple heapTuple);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* ExecHash
|
||||
@@ -258,7 +263,7 @@ ExecEndHash(Hash *node)
|
||||
ExecEndNode(outerPlan, (Plan*)node);
|
||||
}
|
||||
|
||||
RelativeAddr
|
||||
static RelativeAddr
|
||||
hashTableAlloc(int size, HashJoinTable hashtable)
|
||||
{
|
||||
RelativeAddr p;
|
||||
@@ -577,7 +582,7 @@ ExecHashGetBucket(HashJoinTable hashtable,
|
||||
* insert into the overflow area of a hash bucket
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
void
|
||||
static void
|
||||
ExecHashOverflowInsert(HashJoinTable hashtable,
|
||||
HashBucket bucket,
|
||||
HeapTuple heapTuple)
|
||||
@@ -790,7 +795,7 @@ hashFunc(char *key, int len)
|
||||
* determine the number of batches needed for a hashjoin
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
int
|
||||
static int
|
||||
ExecHashPartition(Hash *node)
|
||||
{
|
||||
Plan *outerNode;
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.4 1997/07/28 00:54:06 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.5 1997/08/19 21:31:09 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -39,6 +39,13 @@ static TupleTableSlot *
|
||||
ExecHashJoinGetSavedTuple(HashJoinState *hjstate, char *buffer,
|
||||
File file, TupleTableSlot *tupleSlot, int *block, char **position);
|
||||
|
||||
static int ExecHashJoinGetBatch(int bucketno, HashJoinTable hashtable,
|
||||
int nbatch);
|
||||
|
||||
static int ExecHashJoinNewBatch(HashJoinState *hjstate);
|
||||
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* ExecHashJoin
|
||||
*
|
||||
@@ -624,7 +631,7 @@ ExecHashJoinGetSavedTuple(HashJoinState *hjstate,
|
||||
* switch to a new hashjoin batch
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
int
|
||||
static int
|
||||
ExecHashJoinNewBatch(HashJoinState *hjstate)
|
||||
{
|
||||
File *innerBatches;
|
||||
@@ -742,7 +749,7 @@ ExecHashJoinNewBatch(HashJoinState *hjstate)
|
||||
* batch 0 1 2 ...
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
int
|
||||
static int
|
||||
ExecHashJoinGetBatch(int bucketno, HashJoinTable hashtable, int nbatch)
|
||||
{
|
||||
int b;
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.7 1997/08/12 22:52:38 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.8 1997/08/19 21:31:10 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -84,6 +84,8 @@
|
||||
#include "utils/lsyscache.h"
|
||||
#include "utils/psort.h"
|
||||
|
||||
static bool MergeCompare(List *eqQual, List *compareQual, ExprContext *econtext);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* MarkInnerTuple and RestoreInnerTuple macros
|
||||
*
|
||||
@@ -251,7 +253,7 @@ MJFormISortopO(List *qualList, Oid sortOp)
|
||||
* if (key1i > key2i) is true and (key1j = key2j) for 0 < j < i.
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
bool
|
||||
static bool
|
||||
MergeCompare(List *eqQual, List *compareQual, ExprContext *econtext)
|
||||
{
|
||||
List *clause;
|
||||
@@ -319,6 +321,7 @@ MergeCompare(List *eqQual, List *compareQual, ExprContext *econtext)
|
||||
* when EXEC_MERGEJOINDEBUG is defined
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
#ifdef EXEC_MERGEJOINDEBUG
|
||||
void
|
||||
ExecMergeTupleDumpInner(ExprContext *econtext)
|
||||
{
|
||||
@@ -332,7 +335,7 @@ ExecMergeTupleDumpInner(ExprContext *econtext)
|
||||
debugtup(innerSlot->val,
|
||||
innerSlot->ttc_tupleDescriptor);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ExecMergeTupleDumpOuter(ExprContext *econtext)
|
||||
{
|
||||
@@ -346,7 +349,7 @@ ExecMergeTupleDumpOuter(ExprContext *econtext)
|
||||
debugtup(outerSlot->val,
|
||||
outerSlot->ttc_tupleDescriptor);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ExecMergeTupleDumpMarked(ExprContext *econtext,
|
||||
MergeJoinState *mergestate)
|
||||
@@ -362,7 +365,7 @@ ExecMergeTupleDumpMarked(ExprContext *econtext,
|
||||
debugtup(markedSlot->val,
|
||||
markedSlot->ttc_tupleDescriptor);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ExecMergeTupleDump(ExprContext *econtext, MergeJoinState *mergestate)
|
||||
{
|
||||
@@ -374,6 +377,7 @@ ExecMergeTupleDump(ExprContext *econtext, MergeJoinState *mergestate)
|
||||
|
||||
printf("******** \n");
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
CleanUpSort(Plan *plan) {
|
||||
|
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeSeqscan.c,v 1.3 1996/11/08 05:56:16 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeSeqscan.c,v 1.4 1997/08/19 21:31:12 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -30,6 +30,11 @@
|
||||
#include "access/heapam.h"
|
||||
#include "parser/parsetree.h"
|
||||
|
||||
static Oid InitScanRelation(SeqScan *node, EState *estate,
|
||||
CommonScanState *scanstate, Plan *outerPlan);
|
||||
|
||||
static TupleTableSlot *SeqNext(SeqScan *node);
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* Scan Support
|
||||
* ----------------------------------------------------------------
|
||||
@@ -40,7 +45,7 @@
|
||||
* This is a workhorse for ExecSeqScan
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
TupleTableSlot *
|
||||
static TupleTableSlot *
|
||||
SeqNext(SeqScan *node)
|
||||
{
|
||||
HeapTuple tuple;
|
||||
@@ -139,7 +144,7 @@ S1_printf("ExecSeqScan: returned tuple slot: %d\n", slot);
|
||||
* subplans of scans.
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
Oid
|
||||
static Oid
|
||||
InitScanRelation(SeqScan *node, EState *estate,
|
||||
CommonScanState *scanstate, Plan *outerPlan)
|
||||
{
|
||||
|
Reference in New Issue
Block a user