Trivial revise for the check of parameterized partial paths

Поиск
Список
Период
Сортировка
От Richard Guo
Тема Trivial revise for the check of parameterized partial paths
Дата
Msg-id CAMbWs48mKJ6g_GnYNa7dnw04MHaMK-jnAEBrMVhTp2uUg3Ut4A@mail.gmail.com
обсуждение исходный текст
Ответы Re: Trivial revise for the check of parameterized partial paths  (vignesh C <vignesh21@gmail.com>)
Список pgsql-hackers
While working on the invalid parameterized join path issue [1], I
noticed that we can simplify the codes for checking parameterized
partial paths in try_partial_hashjoin/mergejoin_path, with the help of
macro PATH_REQ_OUTER.

-       if (inner_path->param_info != NULL)
-       {
-               Relids          inner_paramrels = inner_path->param_info->ppi_req_outer;
-
-               if (!bms_is_empty(inner_paramrels))
-                       return;
-       }
+       if (!bms_is_empty(PATH_REQ_OUTER(inner_path)))
+               return;

Also there is a comment there that is not correct.

 * If the inner path is parameterized, the parameterization must be fully
 * satisfied by the proposed outer path.

This is true for nestloop but not for hashjoin/mergejoin.

Besides, I wonder if it'd be better that we verify that the outer input
path for a partial join path should not have any parameterization
dependency.

Attached is a patch for all these changes.

[1] https://www.postgresql.org/message-id/flat/CAJKUy5g2uZRrUDZJ8p-%3DgiwcSHVUn0c9nmdxPSY0jF0Ov8VoEA%40mail.gmail.com

Thanks
Richard
Вложения

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

Предыдущее
От: jian he
Дата:
Сообщение: Re: [PGdocs] fix description for handling pf non-ASCII characters
Следующее
От: Richard Guo
Дата:
Сообщение: Re: Another incorrect comment for pg_stat_statements