pgsql: Add assorted new regexp_xxx SQL functions.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add assorted new regexp_xxx SQL functions.
Date: 2021-08-03 17:09:03
Message-ID: E1mAxuZ-0005mu-Oo@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add assorted new regexp_xxx SQL functions.

This patch adds new functions regexp_count(), regexp_instr(),
regexp_like(), and regexp_substr(), and extends regexp_replace()
with some new optional arguments. All these functions follow
the definitions used in Oracle, although there are small differences
in the regexp language due to using our own regexp engine -- most
notably, that the default newline-matching behavior is different.
Similar functions appear in DB2 and elsewhere, too. Aside from
easing portability, these functions are easier to use for certain
tasks than our existing regexp_match[es] functions.

Gilles Darold, heavily revised by me

Discussion: https://postgr.es/m/fc160ee0-c843-b024-29bb-97b5da61971f@darold.net

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6424337073589476303b10f6d7cc74f501b8d9d7

Modified Files
--------------
doc/src/sgml/func.sgml | 352 +++++++++++++++++++++++--
src/backend/utils/adt/regexp.c | 473 ++++++++++++++++++++++++++++++++--
src/backend/utils/adt/varlena.c | 33 ++-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.dat | 64 +++++
src/include/utils/varlena.h | 3 +-
src/test/regress/expected/strings.out | 371 ++++++++++++++++++++++++++
src/test/regress/sql/strings.sql | 89 +++++++
8 files changed, 1340 insertions(+), 47 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2021-08-04 02:47:02 pgsql: Add prepare API support for streaming transactions in logical re
Previous Message Bruce Momjian 2021-08-03 16:26:44 pgsql: C comment: correct heading of extension query