Thread: Missing comments/docs about custom scan path
Hi, While working on [1], I noticed $SUBJECT: commit e7cb7ee14 failed to update comments for the CustomPath struct in pathnodes.h, and commit f49842d1e failed to update docs about custom scan path callbacks in custom-scan.sgml, IIUC. Attached are patches for updating these, which I created separately for ease of review (patch update-custom-scan-path-comments.patch for the former and patch update-custom-scan-path-docs.patch for the latter). In the second patch I used almost the same text as for the ReparameterizeForeignPathByChild callback function in fdwhandler.sgml. Best regards, Etsuro Fujita [1] https://www.postgresql.org/message-id/CAPmGK16ah9JtyVPtdqu6d%3DQGkRX%3DRAzoYQfX7%3DLZ%2BKnqwBfftg%40mail.gmail.com
Attachment
On Mon, Jul 31, 2023 at 7:05 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: > While working on [1], I noticed $SUBJECT: commit e7cb7ee14 failed to > update comments for the CustomPath struct in pathnodes.h, and commit > f49842d1e failed to update docs about custom scan path callbacks in > custom-scan.sgml, IIUC. Attached are patches for updating these, > which I created separately for ease of review (patch > update-custom-scan-path-comments.patch for the former and patch > update-custom-scan-path-docs.patch for the latter). In the second > patch I used almost the same text as for the > ReparameterizeForeignPathByChild callback function in fdwhandler.sgml. There seem to be no objections, so I pushed both. Best regards, Etsuro Fujita
On Thu, Aug 3, 2023 at 6:01 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: > On Mon, Jul 31, 2023 at 7:05 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: > > While working on [1], I noticed $SUBJECT: Another thing I would like to propose is minor adjustments to the docs related to parallel query: 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): For clarity, I think "except for Gather paths" should be "except for Gather and Gather Merge paths". 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 CustomPath objects and adding them to rel using add_path. For clarity, I think "adding them to rel using add_path" should be eg, "adding them to rel using add_path, or using add_partial_path if they are partial paths". Attached is a patch for that. Best regards, Etsuro Fujita
Attachment
On Tue, Aug 29, 2023 at 5:08 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:
Another thing I would like to propose is minor adjustments to the docs
related to parallel query:
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):
For clarity, I think "except for Gather paths" should be "except for
Gather and Gather Merge paths".
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 CustomPath objects and adding
them to rel using add_path.
For clarity, I think "adding them to rel using add_path" should be eg,
"adding them to rel using add_path, or using add_partial_path if they
are partial paths".
+1. I can see that this change makes the doc more consistent with the
comments in set_rel_pathlist.
Thanks
Richard
comments in set_rel_pathlist.
Thanks
Richard
Hi Richard, On Wed, Aug 30, 2023 at 11:05 AM Richard Guo <guofenglinux@gmail.com> wrote: > On Tue, Aug 29, 2023 at 5:08 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: >> Another thing I would like to propose is minor adjustments to the docs >> related to parallel query: >> >> 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): >> >> For clarity, I think "except for Gather paths" should be "except for >> Gather and Gather Merge paths". >> >> 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 CustomPath objects and adding >> them to rel using add_path. >> >> For clarity, I think "adding them to rel using add_path" should be eg, >> "adding them to rel using add_path, or using add_partial_path if they >> are partial paths". > +1. I can see that this change makes the doc more consistent with the > comments in set_rel_pathlist. Agreed. I have committed the patch. Thanks for taking a look! Best regards, Etsuro Fujita