Add current substring regular expression syntax

SQL:1999 had syntax

    SUBSTRING(text FROM pattern FOR escapechar)

but this was replaced in SQL:2003 by the more clear

    SUBSTRING(text SIMILAR pattern ESCAPE escapechar)

but this was never implemented in PostgreSQL.  This patch adds that
new syntax as an alternative in the parser, and updates documentation
and tests to indicate that this is the preferred alternative now.

Reviewed-by: Pavel Stehule <[email protected]>
Reviewed-by: Vik Fearing <[email protected]>
Reviewed-by: Fabien COELHO <[email protected]>
Discussion: 
https://www.postgresql.org/message-id/flat/a15db31c-d0f8-8ce0-9039-578a31758adb%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/78c887679d7632c1211f85eb95723f3226bf1b46

Modified Files
--------------
contrib/citext/expected/citext.out         |  2 +-
contrib/citext/expected/citext_1.out       |  2 +-
contrib/citext/sql/citext.sql              |  2 +-
doc/src/sgml/func.sgml                     | 20 ++++++++++++++-----
src/backend/catalog/information_schema.sql |  2 +-
src/backend/parser/gram.y                  | 26 ++++++++++++++++++++++++-
src/test/regress/expected/strings.out      | 31 ++++++++++++++++++------------
src/test/regress/sql/strings.sql           | 26 +++++++++++++------------
8 files changed, 77 insertions(+), 34 deletions(-)

Reply via email to