postgresql/src/backend
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
..
access Repair two places where SIGTERM exit could leave shared memory state 2008-04-16 23:59:40 +00:00
bootstrap Move the HTSU_Result enum definition into snapshot.h, to avoid including 2008-03-26 21:10:39 +00:00
catalog Create new routines systable_beginscan_ordered, systable_getnext_ordered, 2008-04-12 23:14:21 +00:00
commands Add some code to EXPLAIN to show the targetlist (ie, output columns) 2008-04-17 18:30:18 +00:00
executor Since createplan.c no longer cares whether index operators are lossy, it has 2008-04-13 20:51:21 +00:00
lib Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
libpq Use error message wordings for permissions checks on .pgpass and SSL private 2008-03-31 02:43:14 +00:00
main Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
nodes Push index operator lossiness determination down to GIST/GIN opclass 2008-04-14 17:05:34 +00:00
optimizer Fix a couple of oversights associated with the "physical tlist" optimization: 2008-04-17 21:22:14 +00:00
parser Push index operator lossiness determination down to GIST/GIN opclass 2008-04-14 17:05:34 +00:00
po Translation updates 2008-01-31 18:04:52 +00:00
port Repair two places where SIGTERM exit could leave shared memory state 2008-04-16 23:59:40 +00:00
postmaster Teach ANALYZE to distinguish dead and in-doubt tuples, which it formerly 2008-04-03 16:27:25 +00:00
regex Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
rewrite Move the HTSU_Result enum definition into snapshot.h, to avoid including 2008-03-26 21:10:39 +00:00
snowball Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
storage Repair two places where SIGTERM exit could leave shared memory state 2008-04-16 23:59:40 +00:00
tcop Revert addition of pg_terminate_backend() because of race conditions. 2008-04-15 20:28:47 +00:00
tsearch Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
utils Re-enable pg_terminate_backend() using SIGTERM. SIGTERM testing still 2008-04-17 20:56:41 +00:00
Makefile Enable probes to work with Mac OS X Leopard and other OSes that will 2008-03-17 19:44:41 +00:00
common.mk We need to rebuild objfiles.txt when one of the subdirectories' objfiles.txt 2008-03-17 18:24:56 +00:00
nls.mk Add a new ereport auxiliary function errdetail_log(), which works the same as 2008-03-24 18:08:47 +00:00