postgresql/src
Tom Lane 488d70ab46 Implement "join removal" for cases where the inner side of a left join
is unique and is not referenced above the join.  In this case the inner
side doesn't affect the query result and can be thrown away entirely.
Although perhaps nobody would ever write such a thing by hand, it's
a reasonably common case in machine-generated SQL.

The current implementation only recognizes the case where the inner side
is a simple relation with a unique index matching the query conditions.
This is enough for the use-cases that have been shown so far, but we
might want to try to handle other cases later.

Robert Haas, somewhat rewritten by Tom
2009-09-17 20:49:29 +00:00
..
backend Implement "join removal" for cases where the inner side of a left join 2009-09-17 20:49:29 +00:00
bin Write psql's ~/.psql_history file using history_truncate_file() and 2009-09-13 22:18:22 +00:00
include Implement "join removal" for cases where the inner side of a left join 2009-09-17 20:49:29 +00:00
interfaces Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add missing ";" to rule in pgc.l. 2009-09-15 08:44:57 +00:00
makefiles Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
pl errcontext support in PL/Perl 2009-09-16 06:06:12 +00:00
port Don't error out if recycling or removing an old WAL segment fails at the end 2009-09-13 18:32:08 +00:00
template Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running 2009-02-11 20:02:40 +00:00
test Rewrite the planner's handling of materialized plan types so that there is 2009-09-12 22:12:09 +00:00
timezone Update the tznames reference files, and add IDT (Israel Daylight Time) 2009-09-06 15:25:23 +00:00
tools Remove handling of CVS entries for TODO/FAQ, because they are removed 2009-08-29 17:09:20 +00:00
tutorial 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +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
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
Makefile.global.in Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
Makefile.shlib Derived files that are shipped in the distribution used to be built in the 2009-08-28 20:26:19 +00:00
nls-global.mk Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00