Skip to content

Commit 74a2dfe

Browse files
author
Etsuro Fujita
committed
Doc: update documentation for creating custom scan paths.
Commit f49842d 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
1 parent 20f90a0 commit 74a2dfe

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

doc/src/sgml/custom-scan.sgml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ typedef struct CustomPath
9090
by <literal>nodeToString</literal>, so that debugging routines that attempt to
9191
print the custom path will work as designed. <structfield>methods</structfield> must
9292
point to a (usually statically allocated) object implementing the required
93-
custom path methods, of which there is currently only one.
93+
custom path methods, which are further detailed below.
9494
</para>
9595

9696
<para>
@@ -130,6 +130,23 @@ Plan *(*PlanCustomPath) (PlannerInfo *root,
130130
be a <literal>CustomScan</literal> object, which the callback must allocate and
131131
initialize. See <xref linkend="custom-scan-plan"/> for more details.
132132
</para>
133+
134+
<para>
135+
<programlisting>
136+
List *(*ReparameterizeCustomPathByChild) (PlannerInfo *root,
137+
List *custom_private,
138+
RelOptInfo *child_rel);
139+
</programlisting>
140+
This callback is called while converting a path parameterized by the
141+
top-most parent of the given child relation <literal>child_rel</literal>
142+
to be parameterized by the child relation. The callback is used to
143+
reparameterize any paths or translate any expression nodes saved in the
144+
given <literal>custom_private</literal> member of a
145+
<structname>CustomPath</structname>. The callback may use
146+
<literal>reparameterize_path_by_child</literal>,
147+
<literal>adjust_appendrel_attrs</literal> or
148+
<literal>adjust_appendrel_attrs_multilevel</literal> as required.
149+
</para>
133150
</sect2>
134151
</sect1>
135152

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy