git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: dad50f6) | patch
Support "Right Anti Join" plan shapes.
Wed, 5 Apr 2023 20:59:00 +0000 (16:59 -0400)
Wed, 5 Apr 2023 20:59:09 +0000 (16:59 -0400)
commit 16dc2703c5413534d4989e08253e8f4fcb0e2aab
Support "Right Anti Join" plan shapes.

Merge and hash joins can support antijoin with the non-nullable input
on the right, using very simple combinations of their existing logic
for right join and anti join. This gives the planner more freedom
about how to order the join. It's particularly useful for hash join,
since we may now have the option to hash the smaller table instead
of the larger.

Richard Guo, reviewed by Ronan Dunklau and myself

Discussion: https://postgr.es/m/CAMbWs48xh9hMzXzSy3VaPzGAz+fkxXXTUbCLohX1_L8THFRm2Q@mail.gmail.com
12 files changed:
src/backend/commands/explain.c diff | blob | blame | history
src/backend/executor/nodeHashjoin.c diff | blob | blame | history
src/backend/executor/nodeMergejoin.c diff | blob | blame | history
src/backend/optimizer/path/costsize.c diff | blob | blame | history
src/backend/optimizer/path/joinpath.c diff | blob | blame | history
src/backend/optimizer/path/joinrels.c diff | blob | blame | history
src/backend/optimizer/path/pathkeys.c diff | blob | blame | history
src/backend/optimizer/prep/prepjointree.c diff | blob | blame | history
src/include/nodes/execnodes.h diff | blob | blame | history
src/include/nodes/nodes.h diff | blob | blame | history
src/include/nodes/pathnodes.h diff | blob | blame | history
src/test/regress/expected/partition_join.out diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /