git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 0c9e5d5) | patch
Fix the general case of quantified regex back-references.
2012年2月24日 06:40:18 +0000 (01:40 -0500)
2012年2月24日 06:41:03 +0000 (01:41 -0500)
commit 173e29aa5deefd9e71c183583ba37805c8102a72
Fix the general case of quantified regex back-references.

Cases where a back-reference is part of a larger subexpression that
is quantified have never worked in Spencer's regex engine, because
he used a compile-time transformation that neglected the need to
check the back-reference match in iterations before the last one.
(That was okay for capturing parens, and we still do it if the
regex has *only* capturing parens ... but it's not okay for backrefs.)

To make this work properly, we have to add an "iteration" node type
to the regex engine's vocabulary of sub-regex nodes. Since this is a
moderately large change with a fair risk of introducing new bugs of its
own, apply to HEAD only, even though it's a fix for a longstanding bug.
src/backend/regex/README diff | blob | blame | history
src/backend/regex/regcomp.c diff | blob | blame | history
src/backend/regex/regexec.c diff | blob | blame | history
src/include/regex/regguts.h diff | blob | blame | history
src/test/regress/expected/regex.out diff | blob | blame | history
src/test/regress/sql/regex.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /