Go to file
Etsuro Fujita 9320cfdd06 postgres_fdw: Avoid 'variable not found in subplan target list' error.
The tlist of the EvalPlanQual outer plan for a ForeignScan node is
adjusted to produce a tuple whose descriptor matches the scan tuple slot
for the ForeignScan node.  But in the case where the outer plan contains
an extra Sort node, if the new tlist contained columns required only for
evaluating PlaceHolderVars or columns required only for evaluating local
conditions, this would cause setrefs.c to fail with the error.

The cause of this is that when creating the outer plan by injecting the
Sort node into an alternative local join plan that could emit such extra
columns as well, we fail to arrange for the outer plan to propagate them
up through the Sort node, causing setrefs.c to fail to match up them in
the new tlist to what is available from the outer plan.  Repair.

Per report from Alexander Pyhalov.

Richard Guo and Etsuro Fujita, reviewed by Alexander Pyhalov and Tom Lane.
Backpatch to all supported versions.

Discussion: http://postgr.es/m/cfb17bf6dfdf876467bd5ef533852d18%40postgrespro.ru
2022-09-14 18:45:00 +09:00
config Bump minimum Perl version to 5.14 2022-09-14 12:37:04 +07:00
contrib postgres_fdw: Avoid 'variable not found in subplan target list' error. 2022-09-14 18:45:00 +09:00
doc Bump minimum Perl version to 5.14 2022-09-14 12:37:04 +07:00
src Fix failure to build gramparse.h standalone in vpath builds 2022-09-14 14:37:19 +07:00
.cirrus.yml ci: remove minor version from freebsd image name 2022-07-31 18:51:47 -07:00
.dir-locals.el
.editorconfig
.git-blame-ignore-revs Add b2e6e7682 to .git-blame-ignore-revs 2022-09-08 14:06:59 +07:00
.gitattributes
.gitignore
aclocal.m4
configure Bump minimum Perl version to 5.14 2022-09-14 12:37:04 +07:00
configure.ac configure: Expand -fvisibility checks to more compilers, test for -qvisibility 2022-09-09 22:53:02 -07:00
COPYRIGHT
GNUmakefile.in Run tests of libpq on installcheck-world, checkprep and check-world 2022-06-03 13:15:20 +09:00
HISTORY
Makefile
README
README.git

PostgreSQL Database Management System
=====================================

This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions.  This distribution also contains C language bindings.

PostgreSQL has many language interfaces, many of which are listed here:

	https://www.postgresql.org/download/

See the file INSTALL for instructions on how to build and install
PostgreSQL.  That file also lists supported operating systems and
hardware platforms and contains information regarding any other
software packages that are required to build or run the PostgreSQL
system.  Copyright and license information can be found in the
file COPYRIGHT.  A comprehensive documentation set is included in this
distribution; it can be read as described in the installation
instructions.

The latest version of this software may be obtained at
https://www.postgresql.org/download/.  For more information look at our
web site located at https://www.postgresql.org/.