Re: Add semi-join pushdown to postgres_fdw

Alexander Pyhalov <a.pyhalov@postgrespro.ru>

From: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: "Fujii.Yuki@df.MitsubishiElectric.co.jp" <Fujii.Yuki@df.mitsubishielectric.co.jp>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Pgsql Hackers <pgsql-hackers@postgresql.org>, Ian Lawrence Barwick <barwick@gmail.com>
Date: 2023-01-20T09:00:04Z
Lists: pgsql-hackers

Attachments

Hi.

Tomas Vondra писал 2023-01-19 20:49:
> I took a quick look at the patch. It needs a rebase, although it 
> applies
> fine using patch.
> 
> A couple minor comments:
> 
> 1) addl_conds seems a bit hard to understand, I'd use either the full
> wording (additional_conds) or maybe extra_conds

Renamed to additional_conds.

> 
> 2) some of the lines got quite long, and need a wrap
Splitted some of them. Not sure if it's enough.

> 
> 3) unknown_subquery_rels name is a bit misleading - AFAIK it's the rels
> that can't be referenced from upper rels (per what the .h says). So 
> they
> are known, but hidden. Is there a better name?

Renamed to hidden_subquery_rels. These are rels, which can't be referred 
to from upper join levels.

> 
> 4) joinrel_target_ok() needs a better comment, explaining *when* the
> reltarget is safe for pushdown. The conditions are on the same row, but
> the project style is to break after '&&'.

Added comment. It seems to be a rephrasing of lower comment in 
joinrel_target_ok().

-- 
Best regards,
Alexander Pyhalov,
Postgres Professional

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. postgres_fdw: Avoid pulling up restrict infos from subqueries

  2. Add support for deparsing semi-joins to contrib/postgres_fdw

  3. Move PartitioPruneInfo out of plan nodes into PlannedStmt