postgresql/src/backend
Tom Lane eb145fdfea Fix dumping of outer joins with empty qual lists.
Normally, a JoinExpr would have empty "quals" only if it came from CROSS
JOIN syntax.  However, it's possible to get to this state by specifying
NATURAL JOIN between two tables with no common column names, and there
might be other ways too.  The code previously printed no ON clause if
"quals" was empty; that's right for CROSS JOIN but syntactically invalid
if it's some type of outer join.  Fix by printing ON TRUE in that case.

This got broken by commit 2ffa740be, which stopped using NATURAL JOIN
syntax in ruleutils output due to its brittleness in the face of
column renamings.  Back-patch to 9.3 where that commit appeared.

Per report from Tushar Ahuja.

Discussion: https://postgr.es/m/98b283cd-6dda-5d3f-f8ac-87db8c76a3da@enterprisedb.com
2017-07-20 11:29:36 -04:00
..
access Add static assertions about pg_control fitting into one disk sector. 2017-07-19 16:16:57 -04:00
bootstrap Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
catalog Code review for NextValueExpr expression node type. 2017-07-14 15:25:43 -04:00
commands Use a real RT index when setting up partition tuple routing. 2017-07-17 21:29:45 -04:00
executor Reverse-convert row types in ExecWithCheckOptions. 2017-07-17 21:56:31 -04:00
foreign Abstract logic to allow for multiple kinds of child rels. 2017-04-03 22:41:31 -04:00
lib Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
libpq Treat clean shutdown of an SSL connection same as the non-SSL case. 2017-07-03 14:51:51 +03:00
main Change pg_ctl to detect server-ready by watching status in postmaster.pid. 2017-06-28 17:31:32 -04:00
nodes Code review for NextValueExpr expression node type. 2017-07-14 15:25:43 -04:00
optimizer Code review for NextValueExpr expression node type. 2017-07-14 15:25:43 -04:00
parser Re-allow SRFs and window functions within sub-selects within aggregates. 2017-06-27 17:51:11 -04:00
po Translation updates 2017-07-10 11:53:55 -04:00
port Change pg_ctl to detect server-ready by watching status in postmaster.pid. 2017-06-28 17:31:32 -04:00
postmaster On Windows, retry process creation if we fail to reserve shared memory. 2017-07-10 11:00:09 -04:00
regex Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
replication Fix ordering of operations in SyncRepWakeQueue to avoid assertion failure. 2017-07-12 15:30:52 +03:00
rewrite Fix multiple assignments to a column of a domain type. 2017-07-11 16:48:59 -04:00
snowball Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
statistics Fix typos in README.dependencies 2017-06-22 17:12:27 -04:00
storage Fix race between GetNewTransactionId and GetOldestActiveTransactionId. 2017-07-13 15:47:02 +03:00
tcop Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
tsearch Improve make_tsvector() to handle empty input, and simplify its callers. 2017-07-18 13:13:47 -04:00
utils Fix dumping of outer joins with empty qual lists. 2017-07-20 11:29:36 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Implement multivariate n-distinct coefficients 2017-03-24 14:06:10 -03:00
common.mk Add ICU_CFLAGS to global CPPFLAGS 2017-06-12 15:57:22 -04:00
nls.mk Translation updates 2017-05-15 12:19:54 -04:00