101
101
<para>
102
102
<programlisting>
103
103
void
104
- GetForeignRelSize (PlannerInfo *root,
105
- RelOptInfo *baserel,
106
- Oid foreigntableid);
104
+ GetForeignRelSize(PlannerInfo *root,
105
+ RelOptInfo *baserel,
106
+ Oid foreigntableid);
107
107
</programlisting>
108
108
109
109
Obtain relation size estimates for a foreign table. This is called
@@ -132,9 +132,9 @@ GetForeignRelSize (PlannerInfo *root,
132
132
<para>
133
133
<programlisting>
134
134
void
135
- GetForeignPaths (PlannerInfo *root,
136
- RelOptInfo *baserel,
137
- Oid foreigntableid);
135
+ GetForeignPaths(PlannerInfo *root,
136
+ RelOptInfo *baserel,
137
+ Oid foreigntableid);
138
138
</programlisting>
139
139
140
140
Create possible access paths for a scan on a foreign table.
@@ -163,13 +163,13 @@ GetForeignPaths (PlannerInfo *root,
163
163
<para>
164
164
<programlisting>
165
165
ForeignScan *
166
- GetForeignPlan (PlannerInfo *root,
167
- RelOptInfo *baserel,
168
- Oid foreigntableid,
169
- ForeignPath *best_path,
170
- List *tlist,
171
- List *scan_clauses,
172
- Plan *outer_plan);
166
+ GetForeignPlan(PlannerInfo *root,
167
+ RelOptInfo *baserel,
168
+ Oid foreigntableid,
169
+ ForeignPath *best_path,
170
+ List *tlist,
171
+ List *scan_clauses,
172
+ Plan *outer_plan);
173
173
</programlisting>
174
174
175
175
Create a <structname>ForeignScan</> plan node from the selected foreign
@@ -199,8 +199,8 @@ GetForeignPlan (PlannerInfo *root,
199
199
<para>
200
200
<programlisting>
201
201
void
202
- BeginForeignScan (ForeignScanState *node,
203
- int eflags);
202
+ BeginForeignScan(ForeignScanState *node,
203
+ int eflags);
204
204
</programlisting>
205
205
206
206
Begin executing a foreign scan. This is called during executor startup.
@@ -227,7 +227,7 @@ BeginForeignScan (ForeignScanState *node,
227
227
<para>
228
228
<programlisting>
229
229
TupleTableSlot *
230
- IterateForeignScan (ForeignScanState *node);
230
+ IterateForeignScan(ForeignScanState *node);
231
231
</programlisting>
232
232
233
233
Fetch one row from the foreign source, returning it in a tuple table slot
@@ -264,7 +264,7 @@ IterateForeignScan (ForeignScanState *node);
264
264
<para>
265
265
<programlisting>
266
266
void
267
- ReScanForeignScan (ForeignScanState *node);
267
+ ReScanForeignScan(ForeignScanState *node);
268
268
</programlisting>
269
269
270
270
Restart the scan from the beginning. Note that any parameters the
@@ -275,7 +275,7 @@ ReScanForeignScan (ForeignScanState *node);
275
275
<para>
276
276
<programlisting>
277
277
void
278
- EndForeignScan (ForeignScanState *node);
278
+ EndForeignScan(ForeignScanState *node);
279
279
</programlisting>
280
280
281
281
End the scan and release resources. It is normally not important
@@ -297,12 +297,12 @@ EndForeignScan (ForeignScanState *node);
297
297
<para>
298
298
<programlisting>
299
299
void
300
- GetForeignJoinPaths (PlannerInfo *root,
301
- RelOptInfo *joinrel,
302
- RelOptInfo *outerrel,
303
- RelOptInfo *innerrel,
304
- JoinType jointype,
305
- JoinPathExtraData *extra);
300
+ GetForeignJoinPaths(PlannerInfo *root,
301
+ RelOptInfo *joinrel,
302
+ RelOptInfo *outerrel,
303
+ RelOptInfo *innerrel,
304
+ JoinType jointype,
305
+ JoinPathExtraData *extra);
306
306
</programlisting>
307
307
Create possible access paths for a join of two (or more) foreign tables
308
308
that all belong to the same foreign server. This optional
@@ -356,10 +356,10 @@ GetForeignJoinPaths (PlannerInfo *root,
356
356
<para>
357
357
<programlisting>
358
358
void
359
- GetForeignUpperPaths (PlannerInfo *root,
360
- UpperRelationKind stage,
361
- RelOptInfo *input_rel,
362
- RelOptInfo *output_rel);
359
+ GetForeignUpperPaths(PlannerInfo *root,
360
+ UpperRelationKind stage,
361
+ RelOptInfo *input_rel,
362
+ RelOptInfo *output_rel);
363
363
</programlisting>
364
364
Create possible access paths for <firstterm>upper relation</> processing,
365
365
which is the planner's term for all post-scan/join query processing, such
@@ -404,9 +404,9 @@ GetForeignUpperPaths (PlannerInfo *root,
404
404
<para>
405
405
<programlisting>
406
406
void
407
- AddForeignUpdateTargets (Query *parsetree,
408
- RangeTblEntry *target_rte,
409
- Relation target_relation);
407
+ AddForeignUpdateTargets(Query *parsetree,
408
+ RangeTblEntry *target_rte,
409
+ Relation target_relation);
410
410
</programlisting>
411
411
412
412
<command>UPDATE</> and <command>DELETE</> operations are performed
@@ -451,10 +451,10 @@ AddForeignUpdateTargets (Query *parsetree,
451
451
<para>
452
452
<programlisting>
453
453
List *
454
- PlanForeignModify (PlannerInfo *root,
455
- ModifyTable *plan,
456
- Index resultRelation,
457
- int subplan_index);
454
+ PlanForeignModify(PlannerInfo *root,
455
+ ModifyTable *plan,
456
+ Index resultRelation,
457
+ int subplan_index);
458
458
</programlisting>
459
459
460
460
Perform any additional planning actions needed for an insert, update, or
@@ -490,11 +490,11 @@ PlanForeignModify (PlannerInfo *root,
490
490
<para>
491
491
<programlisting>
492
492
void
493
- BeginForeignModify (ModifyTableState *mtstate,
494
- ResultRelInfo *rinfo,
495
- List *fdw_private,
496
- int subplan_index,
497
- int eflags);
493
+ BeginForeignModify(ModifyTableState *mtstate,
494
+ ResultRelInfo *rinfo,
495
+ List *fdw_private,
496
+ int subplan_index,
497
+ int eflags);
498
498
</programlisting>
499
499
500
500
Begin executing a foreign table modification operation. This routine is
@@ -536,10 +536,10 @@ BeginForeignModify (ModifyTableState *mtstate,
536
536
<para>
537
537
<programlisting>
538
538
TupleTableSlot *
539
- ExecForeignInsert (EState *estate,
540
- ResultRelInfo *rinfo,
541
- TupleTableSlot *slot,
542
- TupleTableSlot *planSlot);
539
+ ExecForeignInsert(EState *estate,
540
+ ResultRelInfo *rinfo,
541
+ TupleTableSlot *slot,
542
+ TupleTableSlot *planSlot);
543
543
</programlisting>
544
544
545
545
Insert one tuple into the foreign table.
@@ -582,10 +582,10 @@ ExecForeignInsert (EState *estate,
582
582
<para>
583
583
<programlisting>
584
584
TupleTableSlot *
585
- ExecForeignUpdate (EState *estate,
586
- ResultRelInfo *rinfo,
587
- TupleTableSlot *slot,
588
- TupleTableSlot *planSlot);
585
+ ExecForeignUpdate(EState *estate,
586
+ ResultRelInfo *rinfo,
587
+ TupleTableSlot *slot,
588
+ TupleTableSlot *planSlot);
589
589
</programlisting>
590
590
591
591
Update one tuple in the foreign table.
@@ -628,10 +628,10 @@ ExecForeignUpdate (EState *estate,
628
628
<para>
629
629
<programlisting>
630
630
TupleTableSlot *
631
- ExecForeignDelete (EState *estate,
632
- ResultRelInfo *rinfo,
633
- TupleTableSlot *slot,
634
- TupleTableSlot *planSlot);
631
+ ExecForeignDelete(EState *estate,
632
+ ResultRelInfo *rinfo,
633
+ TupleTableSlot *slot,
634
+ TupleTableSlot *planSlot);
635
635
</programlisting>
636
636
637
637
Delete one tuple from the foreign table.
@@ -672,8 +672,8 @@ ExecForeignDelete (EState *estate,
672
672
<para>
673
673
<programlisting>
674
674
void
675
- EndForeignModify (EState *estate,
676
- ResultRelInfo *rinfo);
675
+ EndForeignModify(EState *estate,
676
+ ResultRelInfo *rinfo);
677
677
</programlisting>
678
678
679
679
End the table update and release resources. It is normally not important
@@ -689,7 +689,7 @@ EndForeignModify (EState *estate,
689
689
<para>
690
690
<programlisting>
691
691
int
692
- IsForeignRelUpdatable (Relation rel);
692
+ IsForeignRelUpdatable(Relation rel);
693
693
</programlisting>
694
694
695
695
Report which update operations the specified foreign table supports.
@@ -729,10 +729,10 @@ IsForeignRelUpdatable (Relation rel);
729
729
<para>
730
730
<programlisting>
731
731
bool
732
- PlanDirectModify (PlannerInfo *root,
733
- ModifyTable *plan,
734
- Index resultRelation,
735
- int subplan_index);
732
+ PlanDirectModify(PlannerInfo *root,
733
+ ModifyTable *plan,
734
+ Index resultRelation,
735
+ int subplan_index);
736
736
</programlisting>
737
737
738
738
Decide whether it is safe to execute a direct modification
@@ -771,8 +771,8 @@ PlanDirectModify (PlannerInfo *root,
771
771
<para>
772
772
<programlisting>
773
773
void
774
- BeginDirectModify (ForeignScanState *node,
775
- int eflags);
774
+ BeginDirectModify(ForeignScanState *node,
775
+ int eflags);
776
776
</programlisting>
777
777
778
778
Prepare to execute a direct modification on the remote server.
@@ -805,7 +805,7 @@ BeginDirectModify (ForeignScanState *node,
805
805
<para>
806
806
<programlisting>
807
807
TupleTableSlot *
808
- IterateDirectModify (ForeignScanState *node);
808
+ IterateDirectModify(ForeignScanState *node);
809
809
</programlisting>
810
810
811
811
When the <command>INSERT</>, <command>UPDATE</> or <command>DELETE</>
@@ -851,7 +851,7 @@ IterateDirectModify (ForeignScanState *node);
851
851
<para>
852
852
<programlisting>
853
853
void
854
- EndDirectModify (ForeignScanState *node);
854
+ EndDirectModify(ForeignScanState *node);
855
855
</programlisting>
856
856
857
857
Clean up following a direct modification on the remote server. It is
@@ -879,8 +879,8 @@ EndDirectModify (ForeignScanState *node);
879
879
<para>
880
880
<programlisting>
881
881
RowMarkType
882
- GetForeignRowMarkType (RangeTblEntry *rte,
883
- LockClauseStrength strength);
882
+ GetForeignRowMarkType(RangeTblEntry *rte,
883
+ LockClauseStrength strength);
884
884
</programlisting>
885
885
886
886
Report which row-marking option to use for a foreign table.
@@ -911,10 +911,10 @@ GetForeignRowMarkType (RangeTblEntry *rte,
911
911
<para>
912
912
<programlisting>
913
913
HeapTuple
914
- RefetchForeignRow (EState *estate,
915
- ExecRowMark *erm,
916
- Datum rowid,
917
- bool *updated);
914
+ RefetchForeignRow(EState *estate,
915
+ ExecRowMark *erm,
916
+ Datum rowid,
917
+ bool *updated);
918
918
</programlisting>
919
919
920
920
Re-fetch one tuple from the foreign table, after locking it if required.
@@ -970,7 +970,8 @@ RefetchForeignRow (EState *estate,
970
970
<para>
971
971
<programlisting>
972
972
bool
973
- RecheckForeignScan (ForeignScanState *node, TupleTableSlot *slot);
973
+ RecheckForeignScan(ForeignScanState *node,
974
+ TupleTableSlot *slot);
974
975
</programlisting>
975
976
Recheck that a previously-returned tuple still matches the relevant
976
977
scan and join qualifiers, and possibly provide a modified version of
@@ -1011,8 +1012,8 @@ RecheckForeignScan (ForeignScanState *node, TupleTableSlot *slot);
1011
1012
<para>
1012
1013
<programlisting>
1013
1014
void
1014
- ExplainForeignScan (ForeignScanState *node,
1015
- ExplainState *es);
1015
+ ExplainForeignScan(ForeignScanState *node,
1016
+ ExplainState *es);
1016
1017
</programlisting>
1017
1018
1018
1019
Print additional <command>EXPLAIN</> output for a foreign table scan.
@@ -1033,11 +1034,11 @@ ExplainForeignScan (ForeignScanState *node,
1033
1034
<para>
1034
1035
<programlisting>
1035
1036
void
1036
- ExplainForeignModify (ModifyTableState *mtstate,
1037
- ResultRelInfo *rinfo,
1038
- List *fdw_private,
1039
- int subplan_index,
1040
- struct ExplainState *es);
1037
+ ExplainForeignModify(ModifyTableState *mtstate,
1038
+ ResultRelInfo *rinfo,
1039
+ List *fdw_private,
1040
+ int subplan_index,
1041
+ struct ExplainState *es);
1041
1042
</programlisting>
1042
1043
1043
1044
Print additional <command>EXPLAIN</> output for a foreign table update.
@@ -1059,8 +1060,8 @@ ExplainForeignModify (ModifyTableState *mtstate,
1059
1060
<para>
1060
1061
<programlisting>
1061
1062
void
1062
- ExplainDirectModify (ForeignScanState *node,
1063
- ExplainState *es);
1063
+ ExplainDirectModify(ForeignScanState *node,
1064
+ ExplainState *es);
1064
1065
</programlisting>
1065
1066
1066
1067
Print additional <command>EXPLAIN</> output for a direct modification
@@ -1087,9 +1088,9 @@ ExplainDirectModify (ForeignScanState *node,
1087
1088
<para>
1088
1089
<programlisting>
1089
1090
bool
1090
- AnalyzeForeignTable (Relation relation,
1091
- AcquireSampleRowsFunc *func,
1092
- BlockNumber *totalpages);
1091
+ AnalyzeForeignTable(Relation relation,
1092
+ AcquireSampleRowsFunc *func,
1093
+ BlockNumber *totalpages);
1093
1094
</programlisting>
1094
1095
1095
1096
This function is called when <xref linkend="sql-analyze"> is executed on
@@ -1109,10 +1110,12 @@ AnalyzeForeignTable (Relation relation,
1109
1110
If provided, the sample collection function must have the signature
1110
1111
<programlisting>
1111
1112
int
1112
- AcquireSampleRowsFunc (Relation relation, int elevel,
1113
- HeapTuple *rows, int targrows,
1114
- double *totalrows,
1115
- double *totaldeadrows);
1113
+ AcquireSampleRowsFunc(Relation relation,
1114
+ int elevel,
1115
+ HeapTuple *rows,
1116
+ int targrows,
1117
+ double *totalrows,
1118
+ double *totaldeadrows);
1116
1119
</programlisting>
1117
1120
1118
1121
A random sample of up to <parameter>targrows</> rows should be collected
@@ -1132,7 +1135,7 @@ AcquireSampleRowsFunc (Relation relation, int elevel,
1132
1135
<para>
1133
1136
<programlisting>
1134
1137
List *
1135
- ImportForeignSchema (ImportForeignSchemaStmt *stmt, Oid serverOid);
1138
+ ImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid);
1136
1139
</programlisting>
1137
1140
1138
1141
Obtain a list of foreign table creation commands. This function is
0 commit comments