pgsql: Fix regexp_matches() handling of zero-length matches. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix regexp_matches() handling of zero-length matches.
Date
Msg-id E1V4YNj-0001a4-Ib@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix regexp_matches() handling of zero-length matches.

We'd find the same match twice if it was of zero length and not immediately
adjacent to the previous match.  replace_text_regexp() got similar cases
right, so adjust this search logic to match that.  Note that even though
the regexp_split_to_xxx() functions share this code, they did not display
equivalent misbehavior, because the second match would be considered
degenerate and ignored.

Jeevan Chalke, with some cosmetic changes by me.

Branch
------
REL8_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/b2bdb7b76f474d703bcc2656b7a9e7a163e73f48

Modified Files
--------------
src/backend/utils/adt/regexp.c        |   13 ++++----
src/backend/utils/adt/varlena.c       |    5 ++-
src/test/regress/expected/strings.out |   58 +++++++++++++++++++++++++++++++++
src/test/regress/sql/strings.sql      |    7 ++++
4 files changed, 75 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix regexp_matches() handling of zero-length matches.
Next
From: Tom Lane
Date:
Subject: pgsql: Fix regexp_matches() handling of zero-length matches.