Files
openGauss-server/src/include/executor/node/nodeMergejoin.h

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 */