diff options
author | Etsuro Fujita <efujita@postgresql.org> | 2023-08-03 17:45:00 +0900 |
---|---|---|
committer | Etsuro Fujita <efujita@postgresql.org> | 2023-08-03 17:45:00 +0900 |
commit | 74a2dfee2255a1bace9b0053d014c4efa2823f4d (patch) | |
tree | 6853f180c832caac52276edf1c898719d92a5427 | |
parent | 20f90a0e4d86d69808fd73e1e7c701a357846ec1 (diff) | |
download | postgresql-74a2dfee2255a1bace9b0053d014c4efa2823f4d.tar.gz postgresql-74a2dfee2255a1bace9b0053d014c4efa2823f4d.zip |
Doc: update documentation for creating custom scan paths.
Commit f49842d1e added a new callback for custom scan paths, but missed
updating the documentation.
Back-patch to all supported branches.
Discussion: https://postgr.es/m/CAPmGK15ODkN%2B%3DhkBCufj1HBW0x5OTb65Xuy7ryXchMdiCMpx_g%40mail.gmail.com
-rw-r--r-- | doc/src/sgml/custom-scan.sgml | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/doc/src/sgml/custom-scan.sgml b/doc/src/sgml/custom-scan.sgml index 93d96f2f566..cd989e7d3c4 100644 --- a/doc/src/sgml/custom-scan.sgml +++ b/doc/src/sgml/custom-scan.sgml @@ -90,7 +90,7 @@ typedef struct CustomPath by <literal>nodeToString</literal>, so that debugging routines that attempt to print the custom path will work as designed. <structfield>methods</structfield> must point to a (usually statically allocated) object implementing the required - custom path methods, of which there is currently only one. + custom path methods, which are further detailed below. </para> <para> @@ -130,6 +130,23 @@ Plan *(*PlanCustomPath) (PlannerInfo *root, be a <literal>CustomScan</literal> object, which the callback must allocate and initialize. See <xref linkend="custom-scan-plan"/> for more details. </para> + + <para> +<programlisting> +List *(*ReparameterizeCustomPathByChild) (PlannerInfo *root, + List *custom_private, + RelOptInfo *child_rel); +</programlisting> + This callback is called while converting a path parameterized by the + top-most parent of the given child relation <literal>child_rel</literal> + to be parameterized by the child relation. The callback is used to + reparameterize any paths or translate any expression nodes saved in the + given <literal>custom_private</literal> member of a + <structname>CustomPath</structname>. The callback may use + <literal>reparameterize_path_by_child</literal>, + <literal>adjust_appendrel_attrs</literal> or + <literal>adjust_appendrel_attrs_multilevel</literal> as required. + </para> </sect2> </sect1> |