postgresql/src/include
Tom Lane 0901d68bab 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:35 +09:00
bootstrap Fix off-by-one loop count in MapArrayTypeName, and get rid of static array. 2014-12-16 15:35:36 -05:00
catalog Fix assorted oversights in range selectivity estimation. 2015-01-30 12:31:08 -05:00
commands Improve performance of EXPLAIN with large range tables. 2015-01-15 13:18:16 -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 pgindent run for 9.4 2014-05-06 12:12:18 -04:00
executor Ensure that RowExprs and whole-row Vars produce the expected column names. 2014-11-10 15:21:14 -05:00
foreign Update copyright for 2014 2014-01-07 16:05:30 -05:00
lib pgindent run for 9.4 2014-05-06 12:12:18 -04:00
libpq Fix incorrect order of lock file removal and failure to close() sockets. 2015-08-02 14:55:05 -04:00
mb pgindent run for 9.4 2014-05-06 12:12:18 -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 pgindent run for 9.4 2014-05-06 12:12:18 -04:00
port pgindent run for 9.4 2014-05-06 12:12:18 -04:00
portability pgindent run for 9.4 2014-05-06 12:12:18 -04:00
postmaster When a background worker exists with code 0, unregister it. 2014-05-07 17:44:42 -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:38:11 +09:00
rewrite pgindent run for 9.4 2014-05-06 12:12:18 -04:00
snowball pgindent run for 9.4 2014-05-06 12:12:18 -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:46 +02:00
tsearch Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
utils Fix incorrect translation of minus-infinity datetimes for json/jsonb. 2015-10-20 11:06:24 -07: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 pgindent run for 9.4 2014-05-06 12:12:18 -04:00
fmgr.h Redesign API presented by nodeAgg.c for ordered-set and similar aggregates. 2014-07-03 18:25:37 -04:00
funcapi.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
getaddrinfo.h Fix assorted issues in client host name lookup. 2014-04-02 17:11:24 -04:00
getopt_long.h Centralize getopt-related declarations in a new header file pg_getopt.h. 2014-02-15 14:31:30 -05:00
Makefile Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04: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:36:35 -05:00
pg_config.h.win32 Stamp 9.4.5. 2015-10-05 15:12:06 -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 Move PG_AUTOCONF_FILENAME definition 2014-12-03 19:58:13 -05:00
pg_getopt.h Fix comment. 2014-05-08 12:42:56 -04:00
pg_trace.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pgstat.h Save pg_stat_statements statistics file into $PGDATA/pg_stat directory at shutdown. 2014-06-04 12:09:45 +09:00
pgtar.h Adopt the GNU convention for handling tar-archive members exceeding 8GB. 2015-11-21 20:22:39 -05:00
pgtime.h Support timezone abbreviations that sometimes change. 2014-10-16 15:22:13 -04:00
port.h Revert error-throwing wrappers for the printf family of functions. 2015-05-19 18:16:19 -04:00
postgres.h Minor cleanup/code review for "indirect toast" stuff. 2015-02-09 12:30:55 -05:00
postgres_ext.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
postgres_fe.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
rusagestub.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
windowapi.h Update copyright for 2014 2014-01-07 16:05:30 -05:00