Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cf/5636~1
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5636
Choose a head ref
  • 2 commits
  • 3 files changed
  • 2 contributors

Commits on Apr 28, 2025

  1. Enable use of Memoize for ANTI joins

    Currently, we do not support Memoize for SEMI and ANTI joins because
    nested loop SEMI/ANTI joins do not scan the inner relation to
    completion, which prevents Memoize from marking the cache entry as
    complete.  One might argue that we could mark the cache entry as
    complete after fetching the first inner tuple, but that would not be
    safe: if the first inner tuple and the current outer tuple do not
    satisfy the join clauses, a second inner tuple matching the parameters
    would find the cache entry already marked as complete.
    
    However, if the inner side is provably unique, this issue doesn't
    arise, since there would be no second matching tuple.  That said, this
    doesn't help in the case of SEMI joins, because a SEMI join with a
    provably unique inner side would already have been reduced to an inner
    join by reduce_unique_semijoins.
    
    Therefore, in this patch, we check whether the inner relation is
    provably unique for ANTI joins and enable the use of Memoize in such
    cases.
    guofengrichard authored and Commitfest Bot committed Apr 28, 2025
    Configuration menu
    Copy the full SHA
    c683cb5 View commit details
    Browse the repository at this point in the history
  2. [CF 5636] v1 - Memoize ANTI and SEMI JOIN inner

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5636
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/CAMbWs48FdLiMNrmJL-g6mDvoQVt0yNyJAqMkv4e2Pk-5GKCZLA@mail.gmail.com
    Author(s): Andrei Lepikhov
    Commitfest Bot committed Apr 28, 2025
    Configuration menu
    Copy the full SHA
    8fd051a View commit details
    Browse the repository at this point in the history
Loading