diff options
author | Etsuro Fujita | 2023-08-30 08:45:00 +0000 |
---|---|---|
committer | Etsuro Fujita | 2023-08-30 08:45:00 +0000 |
commit | 7ef5f5fb324096c7822c922ad59fd7fdd76f57b1 (patch) | |
tree | 0b2a46ff9c81bf8bdb9b95449d6c55e20c1f2a39 | |
parent | 05c821294e6c52609a999aefbe6c53f79f39c81e (diff) |
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
-rw-r--r-- | doc/src/sgml/custom-scan.sgml | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/doc/src/sgml/custom-scan.sgml b/doc/src/sgml/custom-scan.sgml index 836776b27bd..a200d502cdd 100644 --- a/doc/src/sgml/custom-scan.sgml +++ b/doc/src/sgml/custom-scan.sgml @@ -38,8 +38,8 @@ 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 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 - partial paths added by the hook): + Gather and Gather Merge paths, which are made after this call so that + they can use partial paths added by the hook): <programlisting> typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root, 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 paths generated by the core system, a custom scan provider will typically confine itself to generating <structname>CustomPath</structname> objects and adding - them to <literal>rel</literal> using <function>add_path</function>. The custom scan - provider is responsible for initializing the <structname>CustomPath</structname> - object, which is declared like this: + them to <literal>rel</literal> using <function>add_path</function>, or + <function>add_partial_path</function> if they are partial paths. The + custom scan provider is responsible for initializing the + <structname>CustomPath</structname> object, which is declared like this: <programlisting> typedef struct CustomPath { |