postgresql/src
Tom Lane 25e46a504b Fix a couple of oversights associated with the "physical tlist" optimization:
we had several code paths where a physical tlist could be used for the input
to a Sort node, which is a dumb idea because any unneeded table columns will
increase the volume of data the sort has to push around.

(Unfortunately the easy-looking fix of calling disuse_physical_tlist during
make_sort_xxx doesn't work because in most cases we're already committed to
the current input tlist --- it's been marked with sort column numbers, or
we've built grouping column numbers using it, etc.  The tlist has to be
selected properly at the calling level before we start constructing sort-col
information.  This is easy enough to do, we were just failing to take the
point into consideration.)

Back-patch to 8.3.  I believe the problem probably exists clear back to 7.4
when the physical tlist optimization was added, but I'm afraid to back-patch
further than 8.3 without a great deal more study than I want to put into it.
The code in this area has drifted a lot over time.  The real-world importance
of these code paths is uncertain anyway --- I think in many cases we'd
probably prefer hash-based methods.
2008-04-17 21:22:14 +00:00
..
backend Fix a couple of oversights associated with the "physical tlist" optimization: 2008-04-17 21:22:14 +00:00
bin Fix comment typo. 2008-04-16 18:18:00 +00:00
include Fix a couple of oversights associated with the "physical tlist" optimization: 2008-04-17 21:22:14 +00:00
interfaces Avoid using unnecessary pgwin32_safestat in libpq. 2008-04-16 14:19:56 +00:00
makefiles Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
pl Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
port Fix MinGW warnings re formats and unused variables. per ITAGAKI Takahiro 2008-04-16 22:16:00 +00:00
template Use SYSV semaphores rather than POSIX on Darwin >= 6.0 (i.e., OS X 10.2 2007-09-26 00:32:46 +00:00
test Replace "amgetmulti" AM functions with "amgetbitmap", in which the whole 2008-04-10 22:25:26 +00:00
timezone More README src cleanups. 2008-03-21 13:23:29 +00:00
tools Ignore blank lines in typedef file. 2008-04-16 21:03:08 +00:00
tutorial Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
DEVELOPERS Testing commit stuff 2006-07-10 15:50:02 +00:00
Makefile Catch all errors in for and while loops in makefiles. Don't ignore any 2008-03-18 16:24:50 +00:00
Makefile.global.in Upgrade to Autoconf 2.61: 2008-02-17 16:36:43 +00:00
Makefile.shlib On cygwin and win32, don't override the shlib name when building a module. 2008-04-08 09:50:29 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
nls-global.mk When merging PO files, take into consideration translations in other PO 2006-04-05 13:40:15 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00