public inbox for [email protected]  
help / color / mirror / Atom feed
From: Alexander Korotkov <[email protected]>
To: [email protected]
Subject: pgsql: Pull up ANY-SUBLINK with the necessary lateral support.
Date: Thu, 15 Feb 2024 10:06:30 +0000
Message-ID: <[email protected]> (raw)

Pull up ANY-SUBLINK with the necessary lateral support.

For ANY-SUBLINK, we adopted a two-stage pull-up approach to handle
different types of scenarios. In the first stage, the sublink is pulled up
as a subquery. Because of this, when writing this code, we did not have
the ability to perform lateral joins, and therefore, we were unable to
pull up Var with varlevelsup=1. Now that we have the ability to use
lateral joins, we can eliminate this limitation.

Author: Andy Fan <[email protected]>
Author: Tom Lane <[email protected]>
Reviewed-by: Tom Lane <[email protected]>
Reviewed-by: Richard Guo <[email protected]>
Reviewed-by: Alena Rybakina <[email protected]>
Reviewed-by: Andrey Lepikhov <[email protected]>

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9f133763961e280d8ba692bcad0b061b861e9138

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out |   6 +-
contrib/postgres_fdw/sql/postgres_fdw.sql      |   4 +-
src/backend/optimizer/plan/subselect.c         |  17 +++-
src/test/regress/expected/join.out             |  14 +--
src/test/regress/expected/subselect.out        | 126 +++++++++++++++++++++++++
src/test/regress/sql/join.sql                  |   8 +-
src/test/regress/sql/subselect.sql             |  37 ++++++++
7 files changed, 192 insertions(+), 20 deletions(-)



reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: pgsql: Pull up ANY-SUBLINK with the necessary lateral support.
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox