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

From: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
To: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
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-04 12:42:42
Message-ID: CAFjFpReGq13cCKTsB4xacHnFANuDGyvz=dBTuv1C1dYsjNATvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> * Is it safe to replace outerjoinpath with its fdw_outerpath the following
> way? I think that if the join relation represented by outerjoinpath has
> local conditions that can't be executed remotely, we have to keep
> outerjoinpath in the path tree; we will otherwise fail to execute the local
> conditions. No?
>
> + /*
> + * If either inner or outer path is a ForeignPath
> corresponding to
> + * a pushed down join, replace it with the
> fdw_outerpath, so that we
> + * maintain path for EPQ checks built entirely of
> local join
> + * strategies.
> + */
> + if (IsA(joinpath->outerjoinpath, ForeignPath))
> + {
> + ForeignPath *foreign_path;
> + foreign_path = (ForeignPath
> *)joinpath->outerjoinpath;
> + if (foreign_path->path.parent->reloptkind
> == RELOPT_JOINREL)
> + joinpath->outerjoinpath =
> foreign_path->fdw_outerpath;
> + }
>
>
all the conditions (local and remote) should be part of fdw_outerpath as
well, since that's the alternate local path, which should produce (when
converted to the plan) the same result as the foreign path. fdw_outerpath
should be a local path set when paths for outerjoinpath->parent was being
created. Am I missing something?

--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2016-02-04 12:43:04 Re: Incorrect formula for SysV IPC parameters
Previous Message Peter Geoghegan 2016-02-04 12:37:26 Re: WIP: Detecting SSI conflicts before reporting constraint violations