mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-23 19:39:53 +08:00
Doc: Improve documentation for creating custom scan paths.
This improves the documentation related to parallel query a little bit. Reviewed by Richard Guo. Discussion: https://postgr.es/m/CAPmGK159eJShAR4ek4Db8oHD4%2BZ18zwJkisEWkqRN-80BdDGFQ%40mail.gmail.com
This commit is contained in:
parent
05c821294e
commit
7ef5f5fb32
@ -38,8 +38,8 @@
|
|||||||
A custom scan provider will typically add paths for a base relation by
|
A custom scan provider will typically add paths for a base relation by
|
||||||
setting the following hook, which is called after the core code has
|
setting the following hook, which is called after the core code has
|
||||||
generated all the access paths it can for the relation (except for
|
generated all the access paths it can for the relation (except for
|
||||||
Gather paths, which are made after this call so that they can use
|
Gather and Gather Merge paths, which are made after this call so that
|
||||||
partial paths added by the hook):
|
they can use partial paths added by the hook):
|
||||||
<programlisting>
|
<programlisting>
|
||||||
typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root,
|
typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root,
|
||||||
RelOptInfo *rel,
|
RelOptInfo *rel,
|
||||||
@ -53,9 +53,10 @@ extern PGDLLIMPORT set_rel_pathlist_hook_type set_rel_pathlist_hook;
|
|||||||
Although this hook function can be used to examine, modify, or remove
|
Although this hook function can be used to examine, modify, or remove
|
||||||
paths generated by the core system, a custom scan provider will typically
|
paths generated by the core system, a custom scan provider will typically
|
||||||
confine itself to generating <structname>CustomPath</structname> objects and adding
|
confine itself to generating <structname>CustomPath</structname> objects and adding
|
||||||
them to <literal>rel</literal> using <function>add_path</function>. The custom scan
|
them to <literal>rel</literal> using <function>add_path</function>, or
|
||||||
provider is responsible for initializing the <structname>CustomPath</structname>
|
<function>add_partial_path</function> if they are partial paths. The
|
||||||
object, which is declared like this:
|
custom scan provider is responsible for initializing the
|
||||||
|
<structname>CustomPath</structname> object, which is declared like this:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
typedef struct CustomPath
|
typedef struct CustomPath
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user