PostgreSQL Source Code: src/include/foreign/fdwapi.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef FDWAPI_H

13#define FDWAPI_H

14

18

19

21

22

23

24

25

26

29 Oid foreigntableid);

30

33 Oid foreigntableid);

34

37 Oid foreigntableid,

40 List *scan_clauses,

41 Plan *outer_plan);

42

44 int eflags);

45

47

50

52

54

61

66 void *extra);

67

72

75 Index resultRelation,

76 int subplan_index);

77

80 List *fdw_private,

81 int subplan_index,

82 int eflags);

83

88

93 int *numSlots);

94

96

101

106

109

112

115

117

120 Index resultRelation,

121 int subplan_index);

122

124 int eflags);

125

127

129

132

137 bool *updated);

138

141

144 List *fdw_private,

145 int subplan_index,

147

150

153 double *totalrows,

154 double *totaldeadrows);

155

159

161 Oid serverOid);

162

165 bool restart_seqs);

166

171 void *coordinate);

174 void *coordinate);

177 void *coordinate);

183 List *fdw_private,

185

187

189

191

193

194

195

196

197

198

199

200

201

202

203

205{

207

208

216

217

218

219

220

221

222

224

225

227

228

245

246

250

251

255

256

258

259

261

262

264

265

272

273

275

276

282

283

284

293

294#endif

void(* ForeignAsyncConfigureWait_function)(AsyncRequest *areq)

int(* AcquireSampleRowsFunc)(Relation relation, int elevel, HeapTuple *rows, int targrows, double *totalrows, double *totaldeadrows)

Size(* EstimateDSMForeignScan_function)(ForeignScanState *node, ParallelContext *pcxt)

TupleTableSlot *(* IterateForeignScan_function)(ForeignScanState *node)

void(* EndForeignScan_function)(ForeignScanState *node)

FdwRoutine * GetFdwRoutineForRelation(Relation relation, bool makecopy)

FdwRoutine * GetFdwRoutineByServerId(Oid serverid)

void(* BeginForeignModify_function)(ModifyTableState *mtstate, ResultRelInfo *rinfo, List *fdw_private, int subplan_index, int eflags)

bool(* IsForeignPathAsyncCapable_function)(ForeignPath *path)

void(* BeginForeignScan_function)(ForeignScanState *node, int eflags)

List *(* ImportForeignSchema_function)(ImportForeignSchemaStmt *stmt, Oid serverOid)

void(* GetForeignUpperPaths_function)(PlannerInfo *root, UpperRelationKind stage, RelOptInfo *input_rel, RelOptInfo *output_rel, void *extra)

void(* EndForeignModify_function)(EState *estate, ResultRelInfo *rinfo)

void(* BeginDirectModify_function)(ForeignScanState *node, int eflags)

bool(* AnalyzeForeignTable_function)(Relation relation, AcquireSampleRowsFunc *func, BlockNumber *totalpages)

TupleTableSlot *(* IterateDirectModify_function)(ForeignScanState *node)

bool(* PlanDirectModify_function)(PlannerInfo *root, ModifyTable *plan, Index resultRelation, int subplan_index)

void(* AddForeignUpdateTargets_function)(PlannerInfo *root, Index rtindex, RangeTblEntry *target_rte, Relation target_relation)

void(* ForeignAsyncRequest_function)(AsyncRequest *areq)

void(* RefetchForeignRow_function)(EState *estate, ExecRowMark *erm, Datum rowid, TupleTableSlot *slot, bool *updated)

Path * GetExistingLocalJoinPath(RelOptInfo *joinrel)

void(* ExecForeignTruncate_function)(List *rels, DropBehavior behavior, bool restart_seqs)

void(* InitializeDSMForeignScan_function)(ForeignScanState *node, ParallelContext *pcxt, void *coordinate)

int(* GetForeignModifyBatchSize_function)(ResultRelInfo *rinfo)

RowMarkType(* GetForeignRowMarkType_function)(RangeTblEntry *rte, LockClauseStrength strength)

FdwRoutine * GetFdwRoutineByRelId(Oid relid)

void(* ShutdownForeignScan_function)(ForeignScanState *node)

TupleTableSlot *(* ExecForeignUpdate_function)(EState *estate, ResultRelInfo *rinfo, TupleTableSlot *slot, TupleTableSlot *planSlot)

void(* BeginForeignInsert_function)(ModifyTableState *mtstate, ResultRelInfo *rinfo)

void(* ReScanForeignScan_function)(ForeignScanState *node)

TupleTableSlot *(* ExecForeignDelete_function)(EState *estate, ResultRelInfo *rinfo, TupleTableSlot *slot, TupleTableSlot *planSlot)

void(* ExplainForeignScan_function)(ForeignScanState *node, struct ExplainState *es)

bool(* RecheckForeignScan_function)(ForeignScanState *node, TupleTableSlot *slot)

void(* GetForeignRelSize_function)(PlannerInfo *root, RelOptInfo *baserel, Oid foreigntableid)

bool(* IsForeignScanParallelSafe_function)(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)

Oid GetForeignServerIdByRelId(Oid relid)

void(* ReInitializeDSMForeignScan_function)(ForeignScanState *node, ParallelContext *pcxt, void *coordinate)

bool IsImportableForeignTable(const char *tablename, ImportForeignSchemaStmt *stmt)

void(* GetForeignPaths_function)(PlannerInfo *root, RelOptInfo *baserel, Oid foreigntableid)

void(* GetForeignJoinPaths_function)(PlannerInfo *root, RelOptInfo *joinrel, RelOptInfo *outerrel, RelOptInfo *innerrel, JoinType jointype, JoinPathExtraData *extra)

ForeignScan *(* GetForeignPlan_function)(PlannerInfo *root, RelOptInfo *baserel, Oid foreigntableid, ForeignPath *best_path, List *tlist, List *scan_clauses, Plan *outer_plan)

List *(* ReparameterizeForeignPathByChild_function)(PlannerInfo *root, List *fdw_private, RelOptInfo *child_rel)

FdwRoutine * GetFdwRoutine(Oid fdwhandler)

void(* ExplainDirectModify_function)(ForeignScanState *node, struct ExplainState *es)

TupleTableSlot **(* ExecForeignBatchInsert_function)(EState *estate, ResultRelInfo *rinfo, TupleTableSlot **slots, TupleTableSlot **planSlots, int *numSlots)

List *(* PlanForeignModify_function)(PlannerInfo *root, ModifyTable *plan, Index resultRelation, int subplan_index)

int(* IsForeignRelUpdatable_function)(Relation rel)

struct FdwRoutine FdwRoutine

void(* ExplainForeignModify_function)(ModifyTableState *mtstate, ResultRelInfo *rinfo, List *fdw_private, int subplan_index, struct ExplainState *es)

void(* EndDirectModify_function)(ForeignScanState *node)

TupleTableSlot *(* ExecForeignInsert_function)(EState *estate, ResultRelInfo *rinfo, TupleTableSlot *slot, TupleTableSlot *planSlot)

void(* EndForeignInsert_function)(EState *estate, ResultRelInfo *rinfo)

void(* ForeignAsyncNotify_function)(AsyncRequest *areq)

void(* InitializeWorkerForeignScan_function)(ForeignScanState *node, shm_toc *toc, void *coordinate)

EstimateDSMForeignScan_function EstimateDSMForeignScan

EndForeignInsert_function EndForeignInsert

ReScanForeignScan_function ReScanForeignScan

BeginForeignInsert_function BeginForeignInsert

RecheckForeignScan_function RecheckForeignScan

AddForeignUpdateTargets_function AddForeignUpdateTargets

InitializeDSMForeignScan_function InitializeDSMForeignScan

BeginForeignModify_function BeginForeignModify

EndForeignModify_function EndForeignModify

BeginDirectModify_function BeginDirectModify

PlanForeignModify_function PlanForeignModify

PlanDirectModify_function PlanDirectModify

ExecForeignInsert_function ExecForeignInsert

BeginForeignScan_function BeginForeignScan

ForeignAsyncRequest_function ForeignAsyncRequest

IterateDirectModify_function IterateDirectModify

ExecForeignUpdate_function ExecForeignUpdate

RefetchForeignRow_function RefetchForeignRow

GetForeignJoinPaths_function GetForeignJoinPaths

IsForeignScanParallelSafe_function IsForeignScanParallelSafe

ExecForeignBatchInsert_function ExecForeignBatchInsert

GetForeignPaths_function GetForeignPaths

GetForeignModifyBatchSize_function GetForeignModifyBatchSize

GetForeignRelSize_function GetForeignRelSize

GetForeignRowMarkType_function GetForeignRowMarkType

ExplainForeignScan_function ExplainForeignScan

EndForeignScan_function EndForeignScan

AnalyzeForeignTable_function AnalyzeForeignTable

EndDirectModify_function EndDirectModify

ExplainForeignModify_function ExplainForeignModify

ReInitializeDSMForeignScan_function ReInitializeDSMForeignScan

IsForeignPathAsyncCapable_function IsForeignPathAsyncCapable

IterateForeignScan_function IterateForeignScan

ForeignAsyncNotify_function ForeignAsyncNotify

InitializeWorkerForeignScan_function InitializeWorkerForeignScan

ImportForeignSchema_function ImportForeignSchema

GetForeignPlan_function GetForeignPlan

ShutdownForeignScan_function ShutdownForeignScan

ExecForeignDelete_function ExecForeignDelete

ExecForeignTruncate_function ExecForeignTruncate

ExplainDirectModify_function ExplainDirectModify

IsForeignRelUpdatable_function IsForeignRelUpdatable

GetForeignUpperPaths_function GetForeignUpperPaths

ForeignAsyncConfigureWait_function ForeignAsyncConfigureWait

ReparameterizeForeignPathByChild_function ReparameterizeForeignPathByChild