postgresql/src
Tom Lane 1cb108efb0 Dig down into sub-selects to look for column statistics.
If a sub-select's output column is a simple Var, recursively look for
statistics applying to that Var, and use them if available.  The need for
this was foreseen ages ago, but we didn't have enough infrastructure to do
it with reasonable speed until just now.

We punt and stick with default estimates if the subquery uses set
operations, GROUP BY, or DISTINCT, since those operations would change the
underlying column statistics (particularly, the relative frequencies of
different values) beyond recognition.  This means that the types of
sub-selects for which this improvement applies are fairly limited, since
most subqueries satisfying those restrictions would have gotten flattened
into the parent query anyway.  But it does help for some cases, such as
subqueries with ORDER BY or LIMIT.
2011-09-04 15:13:46 -04:00
..
backend Dig down into sub-selects to look for column statistics. 2011-09-04 15:13:46 -04:00
bin Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
include Clean up the #include mess a little. 2011-09-04 01:13:16 -04:00
interfaces Fix brace indentation of commit 63d06ef591 to fit PostgreSQL style. 2011-09-02 10:03:07 +02:00
makefiles Fix pgxs.mk to always add --dbname=$(CONTRIB_TESTDB) to REGRESS_OPTS. 2011-08-24 15:16:50 -04:00
pl Clean up the #include mess a little. 2011-09-04 01:13:16 -04: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 Minor improvements to mbregress.sh script. 2011-09-01 09:21:10 -04:00
timezone Use consistent format for reporting GetLastError() 2011-08-23 22:00:52 +03:00
tools Remove find_lt sgml tool, as it is not needed. 2011-09-03 19:09:39 -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