postgresql/src/include
Tom Lane 038c36b6bb Fix whole-row Var evaluation to cope with resjunk columns (again).
When a whole-row Var is reading the result of a subquery, we need it to
ignore any "resjunk" columns that the subquery might have evaluated for
GROUP BY or ORDER BY purposes.  We've hacked this area before, in commit
68e40998d0, but that fix only covered
whole-row Vars of named composite types, not those of RECORD type; and it
was mighty klugy anyway, since it just assumed without checking that any
extra columns in the result must be resjunk.  A proper fix requires getting
hold of the subquery's targetlist so we can actually see which columns are
resjunk (whereupon we can use a JunkFilter to get rid of them).  So bite
the bullet and add some infrastructure to make that possible.

Per report from Andrew Dunstan and additional testing by Merlin Moncure.
Back-patch to all supported branches.  In 8.3, also back-patch commit
292176a118, which for some reason I had
not done at the time, but it's a prerequisite for this change.
2012-07-20 13:09:32 -04:00
..
access Don't clear btpo_cycleid during _bt_vacuum_one_page. 2012-02-21 15:04:01 -05:00
bootstrap Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
catalog Avoid changing an index's indcheckxmin horizon during REINDEX. 2011-04-19 18:51:12 -04:00
commands Prevent CREATE TABLE LIKE/INHERITS from (mis) copying whole-row Vars. 2012-06-30 16:44:19 -04:00
executor Fix an oversight in the support for storing/retrieving "minimal tuples" in 2009-03-30 04:09:09 +00:00
lib Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
libpq When we are in error recursion trouble, arrange to suppress translation and 2009-03-02 21:18:50 +00:00
mb Back-patch addition of pg_wchar-to-multibyte conversion functionality. 2012-07-10 16:52:55 -04:00
nodes Fix whole-row Var evaluation to cope with resjunk columns (again). 2012-07-20 13:09:32 -04:00
optimizer Fix planner to restore its previous level of intelligence about pushing 2009-04-16 20:42:28 +00:00
parser Some more gitignore cleanups: cover contrib and PL regression test outputs. 2010-09-22 17:23:05 -04:00
port Force default wal_sync_method to be fdatasync on Linux. 2010-12-08 20:01:24 -05:00
postmaster Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
regex Back-patch fix for extraction of fixed prefixes from regular expressions. 2012-07-10 18:00:55 -04:00
rewrite Prevent CREATE TABLE LIKE/INHERITS from (mis) copying whole-row Vars. 2012-06-30 16:44:19 -04:00
snowball Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
storage Improve coding around the fsync request queue. 2012-07-17 16:56:08 -04:00
tcop Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tsearch Fix URL generation in headline. Only tag lexeme will be replaced by space. 2009-01-15 17:06:03 +00:00
utils Back-patch fix for extraction of fixed prefixes from regular expressions. 2012-07-10 18:00:55 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:12 +02:00
c.h Don't pass an invalid file handle to dup2(). That causes a crash on 2010-04-01 20:12:34 +00:00
fmgr.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
funcapi.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
getaddrinfo.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
getopt_long.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
Makefile Fix server header file installation with vpath builds 2011-11-10 21:43:05 +02:00
miscadmin.h Do stack-depth checking in all postmaster children. 2012-04-08 19:09:37 +03:00
pg_config.h.in Use __sync_lock_test_and_set() for spinlocks on ARM, if available. 2012-01-07 15:39:16 -05:00
pg_config.h.win32 Stamp 8.3.19. 2012-05-31 19:14:08 -04:00
pg_config_manual.h Arrange for large sequential scans to synchronize with each other, so that 2007-06-08 18:23:53 +00:00
pg_trace.h Correct two more copyrights found by updated script. 2008-01-02 02:42:06 +00:00
pgstat.h Teach ANALYZE to distinguish dead and in-doubt tuples, which it formerly 2008-04-03 16:27:32 +00:00
pgtime.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
port.h Move the line to undefine setlocale() macro on Win32 outside USE_REPL_SNPRINTF 2011-09-01 09:18:54 +03:00
postgres.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +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 copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
rusagestub.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00