postgresql/src
Tom Lane 57664ed25e Wrap appendrel member outputs in PlaceHolderVars in additional cases.
Add PlaceHolderVar wrappers as needed to make UNION ALL sub-select output
expressions appear non-constant and distinct from each other.  This makes
the world safe for add_child_rel_equivalences to do what it does.  Before,
it was possible for that function to add identical expressions to different
EquivalenceClasses, which logically should imply merging such ECs, which
would be wrong; or to improperly add a constant to an EquivalenceClass,
drastically changing its behavior.  Per report from Teodor Sigaev.

The only currently known consequence of this bug is "MergeAppend child's
targetlist doesn't match MergeAppend" planner failures in 9.1 and later.
I am suspicious that there may be other failure modes that could affect
older release branches; but in the absence of any hard evidence, I'll
refrain from back-patching further than 9.1.
2011-11-08 21:14:21 -05:00
..
backend Wrap appendrel member outputs in PlaceHolderVars in additional cases. 2011-11-08 21:14:21 -05:00
bin Show statistics target for columns in \d+ on a table 2011-11-05 13:02:48 +01:00
include Wrap appendrel member outputs in PlaceHolderVars in additional cases. 2011-11-08 21:14:21 -05:00
interfaces Clean up whitespace and indentation in parser and scanner files 2011-11-01 21:51:30 +02:00
makefiles Fix pgxs.mk to always add --dbname=$(CONTRIB_TESTDB) to REGRESS_OPTS. 2011-08-24 15:16:50 -04:00
pl Support range data types. 2011-11-03 13:42:15 +02:00
port Fix typo in pg_srand48 (srand48 in older branches). 2011-09-03 16:17:34 -04:00
template Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
test Wrap appendrel member outputs in PlaceHolderVars in additional cases. 2011-11-08 21:14:21 -05:00
timezone Update docs to point to the timezone library's new home at IANA. 2011-10-27 23:09:05 -04:00
tools Add simple script to check for right recursion in Bison grammars. 2011-10-27 13:50:57 -04:00
tutorial Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in Make distprep and *clean build targets recurse into all subdirectories. 2011-07-03 13:55:12 -04:00
Makefile.shlib Use single quotes in preference to double quotes for protecting pathnames. 2011-06-15 21:45:23 -04:00
nls-global.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00