postgresql/src/include
Tom Lane 0a34ff7e9a Fix another oversight in checking if a join with LATERAL refs is legal.
It was possible for the planner to decide to join a LATERAL subquery to
the outer side of an outer join before the outer join itself is completed.
Normally that's fine because of the associativity rules, but it doesn't
work if the subquery contains a lateral reference to the inner side of the
outer join.  In such a situation the outer join *must* be done first.
join_is_legal() missed this consideration and would allow the join to be
attempted, but the actual path-building code correctly decided that no
valid join path could be made, sometimes leading to planner errors such as
"failed to build any N-way joins".

Per report from Andreas Seltenreich.  Back-patch to 9.3 where LATERAL
support was added.
2015-12-07 17:41:45 -05:00
..
access Remove files signaling a standby promotion request at postmaster startup 2015-09-09 22:52:40 +09:00
bootstrap Fix off-by-one loop count in MapArrayTypeName, and get rid of static array. 2014-12-16 15:35:40 -05:00
catalog Fix assorted oversights in range selectivity estimation. 2015-01-30 12:30:43 -05:00
commands Improve performance of EXPLAIN with large range tables. 2015-01-15 13:18:19 -05:00
common Add pg_string_endswith as the start of a string helper library in src/common. 2015-01-03 20:54:13 +01:00
datatype Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
executor Ensure that whole-row Vars produce nonempty column names. 2014-11-10 15:21:20 -05:00
foreign Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
lib Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
libpq Fix incorrect order of lock file removal and failure to close() sockets. 2015-08-02 14:54:44 -04:00
mb Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
nodes Fix planner's cost estimation for SEMI/ANTI joins with inner indexscans. 2015-06-03 11:58:47 -04:00
optimizer Fix another oversight in checking if a join with LATERAL refs is legal. 2015-12-07 17:41:45 -05:00
parser Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
port Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
portability Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
postmaster Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
regex Improve memory-usage accounting in regular-expression compiler. 2015-10-16 15:36:17 -04:00
replication Make SyncRepWakeQueue to a static function 2015-03-26 10:39:18 +09:00
rewrite Avoid getting more than AccessShareLock when deparsing a query. 2014-03-06 19:31:09 -05:00
snowball Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
storage On Windows, ensure shared memory handle gets closed if not being used. 2015-10-13 11:21:33 -04:00
tcop Be more careful to not lose sync in the FE/BE protocol. 2015-02-02 17:09:40 +02:00
tsearch Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:32 -05:00
utils Fix subtransaction cleanup after an outer-subtransaction portal fails. 2015-09-04 13:36:50 -04:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
fmgr.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
funcapi.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
getaddrinfo.h Fix assorted issues in client host name lookup. 2014-04-02 17:11:27 -04:00
getopt_long.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
Makefile Install headers from the new src/include/common subdirectory. 2013-02-26 15:27:30 -05:00
miscadmin.h Perform an immediate shutdown if the postmaster.pid file is removed. 2015-10-06 17:15:27 -04:00
pg_config.h.in On Darwin, detect and report a multithreaded postmaster. 2015-01-07 22:40:40 -05:00
pg_config.h.win32 Stamp 9.3.10. 2015-10-05 15:14:02 -04:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
pg_trace.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pgstat.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
pgtar.h Adopt the GNU convention for handling tar-archive members exceeding 8GB. 2015-11-21 20:21:32 -05:00
pgtime.h Support timezone abbreviations that sometimes change. 2014-10-16 15:22:17 -04:00
port.h Revert error-throwing wrappers for the printf family of functions. 2015-05-19 18:16:58 -04:00
postgres.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
postgres_ext.h Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
postgres_fe.h Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
rusagestub.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
windowapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00