Re: Support "Right Semi Join" plan shapes

Поиск
Список
Период
Сортировка
От Richard Guo
Тема Re: Support "Right Semi Join" plan shapes
Дата
Msg-id CAMbWs4_ccjTJSksy5Z_WxmhoxO5n2PZ49qSQHaXb2JxzKZ=x8g@mail.gmail.com
обсуждение исходный текст
Ответ на Support "Right Semi Join" plan shapes  (Richard Guo <guofenglinux@gmail.com>)
Ответы Re: Support "Right Semi Join" plan shapes  (Richard Guo <guofenglinux@gmail.com>)
Список pgsql-hackers

On Tue, Apr 18, 2023 at 5:07 PM Richard Guo <guofenglinux@gmail.com> wrote:
In thread [1] which discussed 'Right Anti Join', Tom once mentioned
'Right Semi Join'.  After a preliminary investigation I think it is
beneficial and can be implemented with very short change.  With 'Right
Semi Join', what we want to do is to just have the first match for each
inner tuple.  For HashJoin, after scanning the hash bucket for matches
to current outer, we just need to check whether the inner tuple has been
set match and skip it if so.  For MergeJoin, we can do it by avoiding
restoring inner scan to the marked tuple in EXEC_MJ_TESTOUTER, in the
case when new outer tuple == marked tuple.

As that thread is already too long, fork a new thread and attach a patch
used for discussion.  The patch implements 'Right Semi Join' for
HashJoin.

The cfbot reminds that this patch does not apply any more, so rebase it
to v2.

Thanks
Richard
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Laetitia Avrot
Дата:
Сообщение: Re: Adding a pg_servername() function
Следующее
От: Masahiko Sawada
Дата:
Сообщение: Re: [PoC] pg_upgrade: allow to upgrade publisher node