Thread

Commits

  1. Doc: Improve documentation for creating custom scan paths.

  2. Doc: update documentation for creating custom scan paths.

  3. Update comments on CustomPath struct.

  4. Basic partition-wise join functionality.

  5. Allow FDWs and custom scan providers to replace joins with scans.

  1. Missing comments/docs about custom scan path

    Etsuro Fujita <etsuro.fujita@gmail.com> — 2023-07-31T10:05:02Z

    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
    
  2. Re: Missing comments/docs about custom scan path

    Etsuro Fujita <etsuro.fujita@gmail.com> — 2023-08-03T09:01:33Z

    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
    
    
    
    
  3. Re: Missing comments/docs about custom scan path

    Etsuro Fujita <etsuro.fujita@gmail.com> — 2023-08-29T09:08:04Z

    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
    
  4. Re: Missing comments/docs about custom scan path

    Richard Guo <guofenglinux@gmail.com> — 2023-08-30T02:05:24Z

    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
    
  5. Re: Missing comments/docs about custom scan path

    Etsuro Fujita <etsuro.fujita@gmail.com> — 2023-08-30T09:07:59Z

    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