41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
/* -------------------------------------------------------------------------
|
|
*
|
|
* nodeMergejoin.h
|
|
*
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/executor/nodeMergejoin.h
|
|
*
|
|
* -------------------------------------------------------------------------
|
|
*/
|
|
#ifndef NODEMERGEJOIN_H
|
|
#define NODEMERGEJOIN_H
|
|
|
|
#include "nodes/execnodes.h"
|
|
|
|
extern MergeJoinState* ExecInitMergeJoin(MergeJoin* node, EState* estate, int eflags);
|
|
extern void ExecEndMergeJoin(MergeJoinState* node);
|
|
extern void ExecReScanMergeJoin(MergeJoinState* node);
|
|
|
|
/*
|
|
* States of the ExecMergeJoin state machine
|
|
*/
|
|
#define EXEC_MJ_INITIALIZE_OUTER 1
|
|
#define EXEC_MJ_INITIALIZE_INNER 2
|
|
#define EXEC_MJ_JOINTUPLES 3
|
|
#define EXEC_MJ_NEXTOUTER 4
|
|
#define EXEC_MJ_TESTOUTER 5
|
|
#define EXEC_MJ_NEXTINNER 6
|
|
#define EXEC_MJ_SKIP_TEST 7
|
|
#define EXEC_MJ_SKIPOUTER_ADVANCE 8
|
|
#define EXEC_MJ_SKIPINNER_ADVANCE 9
|
|
#define EXEC_MJ_ENDOUTER 10
|
|
#define EXEC_MJ_ENDINNER 11
|
|
|
|
extern bool check_constant_qual(List* qual, bool* is_const_false);
|
|
|
|
#endif /* NODEMERGEJOIN_H */
|