postgresql/src/include
Tom Lane 8a14bdb10f Fix nested PlaceHolderVar expressions that appear only in targetlists.
A PlaceHolderVar's expression might contain another, lower-level
PlaceHolderVar.  If the outer PlaceHolderVar is used, the inner one
certainly will be also, and so we have to make sure that both of them get
into the placeholder_list with correct ph_may_need values during the
initial pre-scan of the query (before deconstruct_jointree starts).
We did this correctly for PlaceHolderVars appearing in the query quals,
but overlooked the issue for those appearing in the top-level targetlist;
with the result that nested placeholders referenced only in the targetlist
did not work correctly, as illustrated in bug #6154.

While at it, add some error checking to find_placeholder_info to ensure
that we don't try to create new placeholders after it's too late to do so;
they have to all be created before deconstruct_jointree starts.

Back-patch to 8.4 where the PlaceHolderVar mechanism was introduced.
2011-08-09 00:49:04 -04:00
..
access Work around gcc 4.6.0 bug that breaks WAL replay. 2011-06-10 17:03:11 -04:00
bootstrap Introduce Streaming Replication. 2010-01-15 09:19:10 +00:00
catalog Avoid changing an index's indcheckxmin horizon during REINDEX. 2011-04-19 18:51:03 -04:00
commands Fix VACUUM so that it always updates pg_class.reltuples/relpages. 2011-05-30 17:07:07 -04:00
executor Fix PlanRowMark/ExecRowMark structures to handle inheritance correctly. 2011-01-12 20:47:09 -05:00
foreign Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
lib Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
libpq Add new message for explicit rejection by pg_hba.conf. Implicit 2010-04-19 19:02:18 +00:00
mb pgindent run for 9.0 2010-02-26 02:01:40 +00:00
nodes Fix bogus test for hypothetical indexes in get_actual_variable_range(). 2011-02-16 19:24:50 -05:00
optimizer Fix nested PlaceHolderVar expressions that appear only in targetlists. 2011-08-09 00:49:04 -04:00
parser Make OFF keyword unreserved. It's not hard to imagine wanting to use 'off' 2010-10-22 17:44:36 +03:00
port Backport changes to allow building with MinGW 64 bit compiler. 2011-04-09 17:59:27 -04:00
portability Support inlining various small performance-critical functions on non-GCC 2010-02-13 02:34:16 +00:00
postmaster pgindent run for 9.0 2010-02-26 02:01:40 +00:00
regex Teach the regular expression functions to do case-insensitive matching and 2009-12-01 21:00:24 +00:00
replication Remove prototype for non-existent function from walreceiver.h. Tidy up by 2010-09-13 10:14:30 +00:00
rewrite pgindent run for 9.0 2010-02-26 02:01:40 +00:00
snowball Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
storage Move CheckRecoveryConflictDeadlock() call to a safer place. 2011-08-02 15:16:44 -04:00
tcop pgindent run for 9.0 2010-02-26 02:01:40 +00:00
tsearch Update a number of broken links in comments. 2010-04-02 15:21:20 +00:00
utils Fix another oversight in logging of changes in postgresql.conf settings. 2011-07-08 17:03:12 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:06 +02:00
c.h Backport changes to allow building with MinGW 64 bit compiler. 2011-04-09 17:59:27 -04:00
fmgr.h Mark PG_MODULE_MAGIC and PG_FUNCTION_INFO_V1 with PGDLLEXPORT 2010-05-27 07:59:48 +00:00
funcapi.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
getaddrinfo.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
getopt_long.h Remove optreset from src/port/ implementations of getopt and getopt_long. 2010-12-16 16:22:12 -05:00
Makefile Introduce Streaming Replication. 2010-01-15 09:19:10 +00:00
miscadmin.h Clean up some randomness associated with trace_recovery_messages: don't 2010-06-17 17:44:40 +00:00
pg_config.h.in Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call. 2010-05-25 17:28:20 +00:00
pg_config.h.win32 Tag 9.0.4. 2011-04-15 00:15:53 -03:00
pg_config_manual.h Remove all the special-case code for INT64_IS_BUSTED, per decision that 2010-01-07 04:53:35 +00:00
pg_trace.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
pgstat.h Fix VACUUM so that it always updates pg_class.reltuples/relpages. 2011-05-30 17:07:07 -04:00
pgtime.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
port.h Backport changes to allow building with MinGW 64 bit compiler. 2011-04-09 17:59:27 -04:00
postgres.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
postgres_ext.h Move NAMEDATALEN definition from postgres_ext.h to pg_config_manual.h. It 2007-02-06 09:16:08 +00:00
postgres_fe.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
rusagestub.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
windowapi.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00