211 elog(
ERROR,
"LIMIT subplan failed to run backwards");
269 elog(
ERROR,
"LIMIT subplan failed to run backwards");
286 elog(
ERROR,
"LIMIT subplan failed to run backwards");
305 elog(
ERROR,
"LIMIT subplan failed to run backwards");
335 elog(
ERROR,
"impossible LIMIT state: %d",
372 (
errcode(ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE),
373 errmsg(
"OFFSET must not be negative")));
398 (
errcode(ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE),
399 errmsg(
"LIMIT must not be negative")));
519 node->uniqCollations,
#define Assert(condition)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
void ExecReScan(PlanState *node)
ExprState * ExecInitExpr(Expr *node, PlanState *parent)
ExprState * execTuplesMatchPrepare(TupleDesc desc, int numCols, const AttrNumber *keyColIdx, const Oid *eqOperators, const Oid *collations, PlanState *parent)
void ExecSetTupleBound(int64 tuples_needed, PlanState *child_node)
void ExecEndNode(PlanState *node)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)
void ExecInitResultTypeTL(PlanState *planstate)
TupleTableSlot * ExecInitExtraTupleSlot(EState *estate, TupleDesc tupledesc, const TupleTableSlotOps *tts_ops)
TupleDesc ExecGetResultType(PlanState *planstate)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
const TupleTableSlotOps * ExecGetResultSlotOps(PlanState *planstate, bool *isfixed)
#define outerPlanState(node)
static bool ExecQualAndReset(ExprState *state, ExprContext *econtext)
static TupleTableSlot * ExecProcNode(PlanState *node)
static Datum ExecEvalExprSwitchContext(ExprState *state, ExprContext *econtext, bool *isNull)
#define CHECK_FOR_INTERRUPTS()
void ExecReScanLimit(LimitState *node)
LimitState * ExecInitLimit(Limit *node, EState *estate, int eflags)
static int64 compute_tuples_needed(LimitState *node)
static void recompute_limits(LimitState *node)
void ExecEndLimit(LimitState *node)
static TupleTableSlot * ExecLimit(PlanState *pstate)
#define castNode(_type_, nodeptr)
static int64 DatumGetInt64(Datum X)
#define ScanDirectionIsForward(direction)
ScanDirection es_direction
TupleTableSlot * ecxt_innertuple
TupleTableSlot * ecxt_outertuple
TupleTableSlot * last_slot
const TupleTableSlotOps * resultops
ExprContext * ps_ExprContext
ProjectionInfo * ps_ProjInfo
ExecProcNodeMtd ExecProcNode
static TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot)