Doc: update documentation for creating custom scan paths.
authorEtsuro Fujita
Thu, 3 Aug 2023 08:45:01 +0000 (17:45 +0900)
committerEtsuro Fujita
Thu, 3 Aug 2023 08:45:01 +0000 (17:45 +0900)
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

doc/src/sgml/custom-scan.sgml

index 93d96f2f5669090db46d81ae5aadd5547fb6ff48..cd989e7d3c466e438f92f7ff84d9924208b0f19b 100644 (file)
@@ -90,7 +90,7 @@ typedef struct CustomPath
     by nodeToString, so that debugging routines that attempt to
     print the custom path will work as designed.  methods 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.
   
 
   
@@ -130,6 +130,23 @@ Plan *(*PlanCustomPath) (PlannerInfo *root,
     be a CustomScan object, which the callback must allocate and
     initialize.  See  for more details.
    
+
+   
+
+List *(*ReparameterizeCustomPathByChild) (PlannerInfo *root,
+                                          List *custom_private,
+                                          RelOptInfo *child_rel);
+
+    This callback is called while converting a path parameterized by the
+    top-most parent of the given child relation child_rel
+    to be parameterized by the child relation.  The callback is used to
+    reparameterize any paths or translate any expression nodes saved in the
+    given custom_private member of a
+    CustomPath.  The callback may use
+    reparameterize_path_by_child,
+    adjust_appendrel_attrs or
+    adjust_appendrel_attrs_multilevel as required.
+