Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)

Поиск
Список
Период
Сортировка
От Etsuro Fujita
Тема Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)
Дата
Msg-id 56B465EB.7060106@lab.ntt.co.jp
обсуждение исходный текст
Ответ на Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
Список pgsql-hackers
On 2016/02/04 21:57, Ashutosh Bapat wrote:

>     One more: I think the following in postgresGetForeignJoinPaths() is
>     a good idea, but I think it's okay to just check whether
>     root->rowMarks is non-NIL, because that since we have rowmarks for
>     all base relations except the target, if we have
>     root->parse->commandType==CMD_DELETE (or
>     root->parse->commandType==CMD_UPDATE), then there would be at least
>     one non-target base relation in the joinrel, which would have a rowmark.

> Sorry, I am unable to understand it fully. But what you are suggesting
> that if there are root->rowMarks, then we are sure that there is at
> least one base relation apart from the target, which needs locking rows.
> Even if we don't have one, still changes in a row of target relation
> after it was scanned, can result in firing EPQ check, which would need
> the local plan to be executed, thus even if root->rowMarks is NIL, EPQ
> check can fire and we will need alternate local plan.

Yeah, I think that is true, but if root->rowMarks==NIL, we won't have 
non-target foreign tables, and therefore postgresGetForeignJoinPaths() 
will never be called.  No?

Best regards,
Etsuro Fujita





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

Предыдущее
От: Ashutosh Bapat
Дата:
Сообщение: Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)
Следующее
От: Joshua Berkus
Дата:
Сообщение: Re: Support for N synchronous standby servers - take 2