postgresql/src/include
Tom Lane e2fa76d80b Use parameterized paths to generate inner indexscans more flexibly.
This patch fixes the planner so that it can generate nestloop-with-
inner-indexscan plans even with one or more levels of joining between
the indexscan and the nestloop join that is supplying the parameter.
The executor was fixed to handle such cases some time ago, but the
planner was not ready.  This should improve our plans in many situations
where join ordering restrictions formerly forced complete table scans.

There is probably a fair amount of tuning work yet to be done, because
of various heuristics that have been added to limit the number of
parameterized paths considered.  However, we are not going to find out
what needs to be adjusted until the code gets some real-world use, so
it's time to get it in there where it can be tested easily.

Note API change for index AM amcostestimate functions.  I'm not aware of
any non-core index AMs, but if there are any, they will need minor
adjustments.
2012-01-27 19:26:38 -05:00
..
access Allow pg_basebackup from standby node with safety checking. 2012-01-25 18:02:04 +00:00
bootstrap Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
catalog Show default privileges in information schema 2012-01-27 21:58:51 +02:00
commands Disallow ALTER DOMAIN on non-domain type everywhere 2012-01-27 21:20:34 +02:00
datatype Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
executor Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
foreign Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
lib Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
libpq Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
mb Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
nodes Use parameterized paths to generate inner indexscans more flexibly. 2012-01-27 19:26:38 -05:00
optimizer Use parameterized paths to generate inner indexscans more flexibly. 2012-01-27 19:26:38 -05:00
parser Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
port Support for building with MS Visual Studio 2010. 2012-01-03 08:44:26 -05:00
portability Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postmaster Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
regex Teach regular expression operators to honor collations. 2011-04-10 18:03:09 -04:00
replication Add new replication mode synchronous_commit = 'write'. 2012-01-24 20:22:37 +00:00
rewrite Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
snowball Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
storage Make bgwriter sleep longer when it has no work to do, to save electricity. 2012-01-26 18:39:13 +02:00
tcop Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tsearch Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
utils Show default privileges in information schema 2012-01-27 21:58:51 +02:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
c.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
fmgr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
funcapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getaddrinfo.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getopt_long.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
Makefile Fix server header file installation with vpath builds 2011-11-10 20:52:54 +02:00
miscadmin.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pg_config.h.in Use __sync_lock_test_and_set() for spinlocks on ARM, if available. 2012-01-07 15:38:52 -05:00
pg_config.h.win32 Remove support for on_exit() 2011-12-27 20:57:59 +02:00
pg_config_manual.h Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible. 2012-01-02 00:02:02 -05:00
pg_trace.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pgstat.h Add deadlock counter to pg_stat_database 2012-01-26 15:58:19 +01:00
pgtime.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
port.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postgres.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postgres_ext.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
postgres_fe.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rusagestub.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
windowapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00