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 по дате отправления: