Обсуждение: pgsql: Fix regexp_matches() handling of zero-length matches.

Поиск
Список
Период
Сортировка

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

От
Tom Lane
Дата:
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
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/1346f40b584d8072bdacdf312027c0ef57e4b7c2

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