postgresql/src
Tom Lane bfb10db81e Fix enforcement of restrictions inside regexp lookaround constraints.
Lookahead and lookbehind constraints aren't allowed to contain backrefs,
and parentheses within them are always considered non-capturing.  Or so
says the manual.  But the regexp parser forgot about these rules once
inside a parenthesized subexpression, so that constructs like (\w)(?=(\1))
were accepted (but then not correctly executed --- a case like this acted
like (\w)(?=\w), without any enforcement that the two \w's match the same
text).  And in (?=((foo))) the innermost parentheses would be counted as
capturing parentheses, though no text would ever be captured for them.

To fix, properly pass down the "type" argument to the recursive invocation
of parse().

Back-patch to all supported branches; it was agreed that silent
misexecution of such patterns is worse than throwing an error, even though
new errors in minor releases are generally not desirable.
2015-11-07 12:43:24 -05:00
..
backend Fix enforcement of restrictions inside regexp lookaround constraints. 2015-11-07 12:43:24 -05:00
bin Fix "pg_ctl start -w" to test child process status directly. 2015-10-12 18:30:37 -04:00
include Improve memory-usage accounting in regular-expression compiler. 2015-10-16 15:36:17 -04:00
interfaces Fix order of arguments in ecpg generated typedef command. 2015-10-18 10:17:01 +02:00
makefiles Don't use deprecated dllwrap on Cygwin. 2014-02-01 16:13:46 -05:00
pl Translation updates 2015-10-05 11:00:57 -04:00
port Stamp 9.2.14. 2015-10-05 15:15:56 -04:00
template AIX: Test the -qlonglong option before use. 2015-07-17 03:02:18 -04:00
test Fix enforcement of restrictions inside regexp lookaround constraints. 2015-11-07 12:43:24 -05:00
timezone Update time zone data files to tzdata release 2015g. 2015-10-02 19:16:18 -04:00
tools Turn install.bat into a pure one line wrapper fort he perl script. 2015-07-07 16:37:34 +03:00
tutorial Remove tabs after spaces in C comments 2014-05-06 11:26:27 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +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 Make numeric form of PG version number readily available in Makefiles. 2015-07-05 12:01:01 -04:00
Makefile.shlib Unlink static libraries before rebuilding them. 2015-03-01 13:07:00 -05:00
nls-global.mk Lots of doc corrections. 2012-04-23 22:43:09 -04:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00