postgresql/src
Tom Lane 670a6c7a22 Fix grammar for subscripting or field selection from a sub-SELECT result.
Such cases should work, but the grammar failed to accept them because of
our ancient precedence hacks to convince bison that extra parentheses
around a sub-SELECT in an expression are unambiguous.  (Formally, they
*are* ambiguous, but we don't especially care whether they're treated as
part of the sub-SELECT or part of the expression.  Bison cares, though.)
Fix by adding a redundant-looking production for this case.

This is a fine example of why fixing shift/reduce conflicts via
precedence declarations is more dangerous than it looks: you can easily
cause the parser to reject cases that should work.

This has been wrong since commit 3db4056e22
or maybe before, and apparently some people have been working around it
by inserting no-op casts.  That method introduces a dump/reload hazard,
as illustrated in bug #7838 from Jan Mate.  Hence, back-patch to all
active branches.
2013-01-30 14:17:48 -05:00
..
backend Fix grammar for subscripting or field selection from a sub-SELECT result. 2013-01-30 14:17:48 -05:00
bin Fast promote mode skips checkpoint at end of recovery. 2013-01-29 00:06:15 +00:00
include Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
interfaces Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
makefiles Make pgxs build executables with the right suffix. 2013-01-19 14:54:29 -05:00
pl Handle SPIErrors raised directly in PL/Python code. 2013-01-28 09:46:23 +02:00
port Use correct output device for Windows prompts. 2013-01-24 16:01:31 -05:00
template Remove _FORTIFY_SOURCE 2012-10-10 21:42:38 -04:00
test Fix grammar for subscripting or field selection from a sub-SELECT result. 2013-01-30 14:17:48 -05:00
timezone Add new timezone abbrevation "FET". 2013-01-14 14:45:40 -05:00
tools entab: Fix some compiler warnings 2013-01-29 22:21:21 -05:00
tutorial Modernize string literal syntax in tutorial example. 2013-01-19 17:20:32 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02: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 Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in PL/Python: Make build on OS X more flexible 2013-01-05 08:56:14 -05:00
Makefile.shlib Remove configure flag --disable-shared, as it is no longer used by any 2012-08-30 16:26:53 -04:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
nls-global.mk NLS: Use msgmerge --previous option 2012-12-13 23:12:12 -05:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00