PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/tableam.h"
#include "access/xact.h"
#include "executor/executor.h"
#include "executor/nodeLockRows.h"
#include "foreign/fdwapi.h"
#include "miscadmin.h"
#include "utils/rel.h"
Go to the source code of this file.
Functions | |
static TupleTableSlot * | ExecLockRows (PlanState *pstate) |
LockRowsState * | ExecInitLockRows (LockRows *node, EState *estate, int eflags) |
void | ExecEndLockRows (LockRowsState *node) |
void | ExecReScanLockRows (LockRowsState *node) |
void ExecEndLockRows | ( | LockRowsState * | node | ) |
Definition at line 385 of file nodeLockRows.c.
References EvalPlanQualEnd(), ExecEndNode(), LockRowsState::lr_epqstate, and outerPlanState.
Referenced by ExecEndNode().
LockRowsState* ExecInitLockRows | ( | LockRows * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 291 of file nodeLockRows.c.
References Assert, LockRows::epqParam, EvalPlanQualInit(), EXEC_FLAG_MARK, ExecBuildAuxRowMark(), ExecFindRowMark(), ExecGetResultSlotOps(), ExecInitNode(), ExecInitResultTypeTL(), ExecLockRows(), PlanState::ExecProcNode, PlanRowMark::isParent, lappend(), lfirst_node, LockRowsState::lr_arowMarks, LockRowsState::lr_epqstate, makeNode, ExecRowMark::markType, NIL, outerPlan, outerPlanState, PlanState::plan, LockRowsState::ps, PlanState::ps_ProjInfo, PlanState::resultops, PlanState::resultopsfixed, PlanState::resultopsset, RowMarkRequiresRowShareLock, LockRows::rowMarks, PlanRowMark::rti, and PlanState::state.
Referenced by ExecInitNode().
|
static |
Definition at line 38 of file nodeLockRows.c.
References Assert, castNode, CHECK_FOR_INTERRUPTS, ExecAuxRowMark::ctidAttNo, ExecRowMark::curCtid, DatumGetObjectId(), DatumGetPointer(), elog, ereport, ExecRowMark::ermActive, errcode(), ERRCODE_T_R_SERIALIZATION_FAILURE, errmsg(), ERROR, EState::es_output_cid, EState::es_snapshot, EvalPlanQualBegin(), EvalPlanQualEnd(), EvalPlanQualNext(), EvalPlanQualSetSlot, EvalPlanQualSlot(), ExecClearTuple(), ExecGetJunkAttribute(), ExecProcNode(), GetFdwRoutineForRelation(), IsolationUsesXactSnapshot, ItemPointerSetInvalid(), lfirst, lnext(), LockTupleExclusive, LockTupleKeyShare, LockTupleNoKeyExclusive, LockTupleShare, LockRowsState::lr_arowMarks, LockRowsState::lr_epqstate, ExecRowMark::markType, OidIsValid, outerPlan, outerPlanState, ExecRowMark::prti, LockRowsState::ps, RelationData::rd_rel, FdwRoutine::RefetchForeignRow, ExecRowMark::relation, RelationGetRelationName, ExecRowMark::relid, ROW_MARK_EXCLUSIVE, ROW_MARK_KEYSHARE, ROW_MARK_NOKEYEXCLUSIVE, ROW_MARK_SHARE, ExecAuxRowMark::rowmark, ExecRowMark::rti, PlanState::state, table_tuple_lock(), test(), TM_Deleted, TM_Invisible, TM_Ok, TM_SelfModified, TM_Updated, TM_WouldBlock, ExecAuxRowMark::toidAttNo, TM_FailureData::traversed, TupIsNull, TUPLE_LOCK_FLAG_FIND_LAST_VERSION, TUPLE_LOCK_FLAG_LOCK_UPDATE_IN_PROGRESS, and ExecRowMark::waitPolicy.
Referenced by ExecInitLockRows().
void ExecReScanLockRows | ( | LockRowsState * | node | ) |
Definition at line 394 of file nodeLockRows.c.
References ExecReScan(), outerPlan, and outerPlanState.
Referenced by ExecReScan().