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(-)