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

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Thom Brown <thom(at)linux(dot)com>, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Shigeru Hanada <shigeru(dot)hanada(at)gmail(dot)com>
Subject: Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)
Date: 2016-02-05 09:05:47
Message-ID: 56B465EB.7060106@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua Berkus 2016-02-05 09:10:22 Re: Support for N synchronous standby servers - take 2
Previous Message Ashutosh Bapat 2016-02-05 08:50:00 Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)