Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
34ae1828
Commit
34ae1828
authored
Sep 06, 2017
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: Make function synopsis formatting more uniform
Whitespace use was inconsistent in the same chapter.
parent
1c53f612
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
90 additions
and
87 deletions
+90
-87
doc/src/sgml/fdwhandler.sgml
doc/src/sgml/fdwhandler.sgml
+90
-87
No files found.
doc/src/sgml/fdwhandler.sgml
View file @
34ae1828
...
@@ -101,9 +101,9 @@
...
@@ -101,9 +101,9 @@
<para>
<para>
<programlisting>
<programlisting>
void
void
GetForeignRelSize
(PlannerInfo *root,
GetForeignRelSize(PlannerInfo *root,
RelOptInfo *baserel,
RelOptInfo *baserel,
Oid foreigntableid);
Oid foreigntableid);
</programlisting>
</programlisting>
Obtain relation size estimates for a foreign table. This is called
Obtain relation size estimates for a foreign table. This is called
...
@@ -132,9 +132,9 @@ GetForeignRelSize (PlannerInfo *root,
...
@@ -132,9 +132,9 @@ GetForeignRelSize (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
GetForeignPaths
(PlannerInfo *root,
GetForeignPaths(PlannerInfo *root,
RelOptInfo *baserel,
RelOptInfo *baserel,
Oid foreigntableid);
Oid foreigntableid);
</programlisting>
</programlisting>
Create possible access paths for a scan on a foreign table.
Create possible access paths for a scan on a foreign table.
...
@@ -163,13 +163,13 @@ GetForeignPaths (PlannerInfo *root,
...
@@ -163,13 +163,13 @@ GetForeignPaths (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
ForeignScan *
ForeignScan *
GetForeignPlan
(PlannerInfo *root,
GetForeignPlan(PlannerInfo *root,
RelOptInfo *baserel,
RelOptInfo *baserel,
Oid foreigntableid,
Oid foreigntableid,
ForeignPath *best_path,
ForeignPath *best_path,
List *tlist,
List *tlist,
List *scan_clauses,
List *scan_clauses,
Plan *outer_plan);
Plan *outer_plan);
</programlisting>
</programlisting>
Create a <structname>ForeignScan</> plan node from the selected foreign
Create a <structname>ForeignScan</> plan node from the selected foreign
...
@@ -199,8 +199,8 @@ GetForeignPlan (PlannerInfo *root,
...
@@ -199,8 +199,8 @@ GetForeignPlan (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
BeginForeignScan
(ForeignScanState *node,
BeginForeignScan(ForeignScanState *node,
int eflags);
int eflags);
</programlisting>
</programlisting>
Begin executing a foreign scan. This is called during executor startup.
Begin executing a foreign scan. This is called during executor startup.
...
@@ -227,7 +227,7 @@ BeginForeignScan (ForeignScanState *node,
...
@@ -227,7 +227,7 @@ BeginForeignScan (ForeignScanState *node,
<para>
<para>
<programlisting>
<programlisting>
TupleTableSlot *
TupleTableSlot *
IterateForeignScan
(ForeignScanState *node);
IterateForeignScan(ForeignScanState *node);
</programlisting>
</programlisting>
Fetch one row from the foreign source, returning it in a tuple table slot
Fetch one row from the foreign source, returning it in a tuple table slot
...
@@ -264,7 +264,7 @@ IterateForeignScan (ForeignScanState *node);
...
@@ -264,7 +264,7 @@ IterateForeignScan (ForeignScanState *node);
<para>
<para>
<programlisting>
<programlisting>
void
void
ReScanForeignScan
(ForeignScanState *node);
ReScanForeignScan(ForeignScanState *node);
</programlisting>
</programlisting>
Restart the scan from the beginning. Note that any parameters the
Restart the scan from the beginning. Note that any parameters the
...
@@ -275,7 +275,7 @@ ReScanForeignScan (ForeignScanState *node);
...
@@ -275,7 +275,7 @@ ReScanForeignScan (ForeignScanState *node);
<para>
<para>
<programlisting>
<programlisting>
void
void
EndForeignScan
(ForeignScanState *node);
EndForeignScan(ForeignScanState *node);
</programlisting>
</programlisting>
End the scan and release resources. It is normally not important
End the scan and release resources. It is normally not important
...
@@ -297,12 +297,12 @@ EndForeignScan (ForeignScanState *node);
...
@@ -297,12 +297,12 @@ EndForeignScan (ForeignScanState *node);
<para>
<para>
<programlisting>
<programlisting>
void
void
GetForeignJoinPaths
(PlannerInfo *root,
GetForeignJoinPaths(PlannerInfo *root,
RelOptInfo *joinrel,
RelOptInfo *joinrel,
RelOptInfo *outerrel,
RelOptInfo *outerrel,
RelOptInfo *innerrel,
RelOptInfo *innerrel,
JoinType jointype,
JoinType jointype,
JoinPathExtraData *extra);
JoinPathExtraData *extra);
</programlisting>
</programlisting>
Create possible access paths for a join of two (or more) foreign tables
Create possible access paths for a join of two (or more) foreign tables
that all belong to the same foreign server. This optional
that all belong to the same foreign server. This optional
...
@@ -356,10 +356,10 @@ GetForeignJoinPaths (PlannerInfo *root,
...
@@ -356,10 +356,10 @@ GetForeignJoinPaths (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
GetForeignUpperPaths
(PlannerInfo *root,
GetForeignUpperPaths(PlannerInfo *root,
UpperRelationKind stage,
UpperRelationKind stage,
RelOptInfo *input_rel,
RelOptInfo *input_rel,
RelOptInfo *output_rel);
RelOptInfo *output_rel);
</programlisting>
</programlisting>
Create possible access paths for <firstterm>upper relation</> processing,
Create possible access paths for <firstterm>upper relation</> processing,
which is the planner's term for all post-scan/join query processing, such
which is the planner's term for all post-scan/join query processing, such
...
@@ -404,9 +404,9 @@ GetForeignUpperPaths (PlannerInfo *root,
...
@@ -404,9 +404,9 @@ GetForeignUpperPaths (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
AddForeignUpdateTargets
(Query *parsetree,
AddForeignUpdateTargets(Query *parsetree,
RangeTblEntry *target_rte,
RangeTblEntry *target_rte,
Relation target_relation);
Relation target_relation);
</programlisting>
</programlisting>
<command>UPDATE</> and <command>DELETE</> operations are performed
<command>UPDATE</> and <command>DELETE</> operations are performed
...
@@ -451,10 +451,10 @@ AddForeignUpdateTargets (Query *parsetree,
...
@@ -451,10 +451,10 @@ AddForeignUpdateTargets (Query *parsetree,
<para>
<para>
<programlisting>
<programlisting>
List *
List *
PlanForeignModify
(PlannerInfo *root,
PlanForeignModify(PlannerInfo *root,
ModifyTable *plan,
ModifyTable *plan,
Index resultRelation,
Index resultRelation,
int subplan_index);
int subplan_index);
</programlisting>
</programlisting>
Perform any additional planning actions needed for an insert, update, or
Perform any additional planning actions needed for an insert, update, or
...
@@ -490,11 +490,11 @@ PlanForeignModify (PlannerInfo *root,
...
@@ -490,11 +490,11 @@ PlanForeignModify (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
BeginForeignModify
(ModifyTableState *mtstate,
BeginForeignModify(ModifyTableState *mtstate,
ResultRelInfo *rinfo,
ResultRelInfo *rinfo,
List *fdw_private,
List *fdw_private,
int subplan_index,
int subplan_index,
int eflags);
int eflags);
</programlisting>
</programlisting>
Begin executing a foreign table modification operation. This routine is
Begin executing a foreign table modification operation. This routine is
...
@@ -536,10 +536,10 @@ BeginForeignModify (ModifyTableState *mtstate,
...
@@ -536,10 +536,10 @@ BeginForeignModify (ModifyTableState *mtstate,
<para>
<para>
<programlisting>
<programlisting>
TupleTableSlot *
TupleTableSlot *
ExecForeignInsert
(EState *estate,
ExecForeignInsert(EState *estate,
ResultRelInfo *rinfo,
ResultRelInfo *rinfo,
TupleTableSlot *slot,
TupleTableSlot *slot,
TupleTableSlot *planSlot);
TupleTableSlot *planSlot);
</programlisting>
</programlisting>
Insert one tuple into the foreign table.
Insert one tuple into the foreign table.
...
@@ -582,10 +582,10 @@ ExecForeignInsert (EState *estate,
...
@@ -582,10 +582,10 @@ ExecForeignInsert (EState *estate,
<para>
<para>
<programlisting>
<programlisting>
TupleTableSlot *
TupleTableSlot *
ExecForeignUpdate
(EState *estate,
ExecForeignUpdate(EState *estate,
ResultRelInfo *rinfo,
ResultRelInfo *rinfo,
TupleTableSlot *slot,
TupleTableSlot *slot,
TupleTableSlot *planSlot);
TupleTableSlot *planSlot);
</programlisting>
</programlisting>
Update one tuple in the foreign table.
Update one tuple in the foreign table.
...
@@ -628,10 +628,10 @@ ExecForeignUpdate (EState *estate,
...
@@ -628,10 +628,10 @@ ExecForeignUpdate (EState *estate,
<para>
<para>
<programlisting>
<programlisting>
TupleTableSlot *
TupleTableSlot *
ExecForeignDelete
(EState *estate,
ExecForeignDelete(EState *estate,
ResultRelInfo *rinfo,
ResultRelInfo *rinfo,
TupleTableSlot *slot,
TupleTableSlot *slot,
TupleTableSlot *planSlot);
TupleTableSlot *planSlot);
</programlisting>
</programlisting>
Delete one tuple from the foreign table.
Delete one tuple from the foreign table.
...
@@ -672,8 +672,8 @@ ExecForeignDelete (EState *estate,
...
@@ -672,8 +672,8 @@ ExecForeignDelete (EState *estate,
<para>
<para>
<programlisting>
<programlisting>
void
void
EndForeignModify
(EState *estate,
EndForeignModify(EState *estate,
ResultRelInfo *rinfo);
ResultRelInfo *rinfo);
</programlisting>
</programlisting>
End the table update and release resources. It is normally not important
End the table update and release resources. It is normally not important
...
@@ -689,7 +689,7 @@ EndForeignModify (EState *estate,
...
@@ -689,7 +689,7 @@ EndForeignModify (EState *estate,
<para>
<para>
<programlisting>
<programlisting>
int
int
IsForeignRelUpdatable
(Relation rel);
IsForeignRelUpdatable(Relation rel);
</programlisting>
</programlisting>
Report which update operations the specified foreign table supports.
Report which update operations the specified foreign table supports.
...
@@ -729,10 +729,10 @@ IsForeignRelUpdatable (Relation rel);
...
@@ -729,10 +729,10 @@ IsForeignRelUpdatable (Relation rel);
<para>
<para>
<programlisting>
<programlisting>
bool
bool
PlanDirectModify
(PlannerInfo *root,
PlanDirectModify(PlannerInfo *root,
ModifyTable *plan,
ModifyTable *plan,
Index resultRelation,
Index resultRelation,
int subplan_index);
int subplan_index);
</programlisting>
</programlisting>
Decide whether it is safe to execute a direct modification
Decide whether it is safe to execute a direct modification
...
@@ -771,8 +771,8 @@ PlanDirectModify (PlannerInfo *root,
...
@@ -771,8 +771,8 @@ PlanDirectModify (PlannerInfo *root,
<para>
<para>
<programlisting>
<programlisting>
void
void
BeginDirectModify
(ForeignScanState *node,
BeginDirectModify(ForeignScanState *node,
int eflags);
int eflags);
</programlisting>
</programlisting>
Prepare to execute a direct modification on the remote server.
Prepare to execute a direct modification on the remote server.
...
@@ -805,7 +805,7 @@ BeginDirectModify (ForeignScanState *node,
...
@@ -805,7 +805,7 @@ BeginDirectModify (ForeignScanState *node,
<para>
<para>
<programlisting>
<programlisting>
TupleTableSlot *
TupleTableSlot *
IterateDirectModify
(ForeignScanState *node);
IterateDirectModify(ForeignScanState *node);
</programlisting>
</programlisting>
When the <command>INSERT</>, <command>UPDATE</> or <command>DELETE</>
When the <command>INSERT</>, <command>UPDATE</> or <command>DELETE</>
...
@@ -851,7 +851,7 @@ IterateDirectModify (ForeignScanState *node);
...
@@ -851,7 +851,7 @@ IterateDirectModify (ForeignScanState *node);
<para>
<para>
<programlisting>
<programlisting>
void
void
EndDirectModify
(ForeignScanState *node);
EndDirectModify(ForeignScanState *node);
</programlisting>
</programlisting>
Clean up following a direct modification on the remote server. It is
Clean up following a direct modification on the remote server. It is
...
@@ -879,8 +879,8 @@ EndDirectModify (ForeignScanState *node);
...
@@ -879,8 +879,8 @@ EndDirectModify (ForeignScanState *node);
<para>
<para>
<programlisting>
<programlisting>
RowMarkType
RowMarkType
GetForeignRowMarkType
(RangeTblEntry *rte,
GetForeignRowMarkType(RangeTblEntry *rte,
LockClauseStrength strength);
LockClauseStrength strength);
</programlisting>
</programlisting>
Report which row-marking option to use for a foreign table.
Report which row-marking option to use for a foreign table.
...
@@ -911,10 +911,10 @@ GetForeignRowMarkType (RangeTblEntry *rte,
...
@@ -911,10 +911,10 @@ GetForeignRowMarkType (RangeTblEntry *rte,
<para>
<para>
<programlisting>
<programlisting>
HeapTuple
HeapTuple
RefetchForeignRow
(EState *estate,
RefetchForeignRow(EState *estate,
ExecRowMark *erm,
ExecRowMark *erm,
Datum rowid,
Datum rowid,
bool *updated);
bool *updated);
</programlisting>
</programlisting>
Re-fetch one tuple from the foreign table, after locking it if required.
Re-fetch one tuple from the foreign table, after locking it if required.
...
@@ -970,7 +970,8 @@ RefetchForeignRow (EState *estate,
...
@@ -970,7 +970,8 @@ RefetchForeignRow (EState *estate,
<para>
<para>
<programlisting>
<programlisting>
bool
bool
RecheckForeignScan (ForeignScanState *node, TupleTableSlot *slot);
RecheckForeignScan(ForeignScanState *node,
TupleTableSlot *slot);
</programlisting>
</programlisting>
Recheck that a previously-returned tuple still matches the relevant
Recheck that a previously-returned tuple still matches the relevant
scan and join qualifiers, and possibly provide a modified version of
scan and join qualifiers, and possibly provide a modified version of
...
@@ -1011,8 +1012,8 @@ RecheckForeignScan (ForeignScanState *node, TupleTableSlot *slot);
...
@@ -1011,8 +1012,8 @@ RecheckForeignScan (ForeignScanState *node, TupleTableSlot *slot);
<para>
<para>
<programlisting>
<programlisting>
void
void
ExplainForeignScan
(ForeignScanState *node,
ExplainForeignScan(ForeignScanState *node,
ExplainState *es);
ExplainState *es);
</programlisting>
</programlisting>
Print additional <command>EXPLAIN</> output for a foreign table scan.
Print additional <command>EXPLAIN</> output for a foreign table scan.
...
@@ -1033,11 +1034,11 @@ ExplainForeignScan (ForeignScanState *node,
...
@@ -1033,11 +1034,11 @@ ExplainForeignScan (ForeignScanState *node,
<para>
<para>
<programlisting>
<programlisting>
void
void
ExplainForeignModify
(ModifyTableState *mtstate,
ExplainForeignModify(ModifyTableState *mtstate,
ResultRelInfo *rinfo,
ResultRelInfo *rinfo,
List *fdw_private,
List *fdw_private,
int subplan_index,
int subplan_index,
struct ExplainState *es);
struct ExplainState *es);
</programlisting>
</programlisting>
Print additional <command>EXPLAIN</> output for a foreign table update.
Print additional <command>EXPLAIN</> output for a foreign table update.
...
@@ -1059,8 +1060,8 @@ ExplainForeignModify (ModifyTableState *mtstate,
...
@@ -1059,8 +1060,8 @@ ExplainForeignModify (ModifyTableState *mtstate,
<para>
<para>
<programlisting>
<programlisting>
void
void
ExplainDirectModify
(ForeignScanState *node,
ExplainDirectModify(ForeignScanState *node,
ExplainState *es);
ExplainState *es);
</programlisting>
</programlisting>
Print additional <command>EXPLAIN</> output for a direct modification
Print additional <command>EXPLAIN</> output for a direct modification
...
@@ -1087,9 +1088,9 @@ ExplainDirectModify (ForeignScanState *node,
...
@@ -1087,9 +1088,9 @@ ExplainDirectModify (ForeignScanState *node,
<para>
<para>
<programlisting>
<programlisting>
bool
bool
AnalyzeForeignTable
(Relation relation,
AnalyzeForeignTable(Relation relation,
AcquireSampleRowsFunc *func,
AcquireSampleRowsFunc *func,
BlockNumber *totalpages);
BlockNumber *totalpages);
</programlisting>
</programlisting>
This function is called when <xref linkend="sql-analyze"> is executed on
This function is called when <xref linkend="sql-analyze"> is executed on
...
@@ -1109,10 +1110,12 @@ AnalyzeForeignTable (Relation relation,
...
@@ -1109,10 +1110,12 @@ AnalyzeForeignTable (Relation relation,
If provided, the sample collection function must have the signature
If provided, the sample collection function must have the signature
<programlisting>
<programlisting>
int
int
AcquireSampleRowsFunc (Relation relation, int elevel,
AcquireSampleRowsFunc(Relation relation,
HeapTuple *rows, int targrows,
int elevel,
double *totalrows,
HeapTuple *rows,
double *totaldeadrows);
int targrows,
double *totalrows,
double *totaldeadrows);
</programlisting>
</programlisting>
A random sample of up to <parameter>targrows</> rows should be collected
A random sample of up to <parameter>targrows</> rows should be collected
...
@@ -1132,7 +1135,7 @@ AcquireSampleRowsFunc (Relation relation, int elevel,
...
@@ -1132,7 +1135,7 @@ AcquireSampleRowsFunc (Relation relation, int elevel,
<para>
<para>
<programlisting>
<programlisting>
List *
List *
ImportForeignSchema
(ImportForeignSchemaStmt *stmt, Oid serverOid);
ImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid);
</programlisting>
</programlisting>
Obtain a list of foreign table creation commands. This function is
Obtain a list of foreign table creation commands. This function is
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment