On Thu, Dec 28, 2023 at 12:13 AM jian he <jian.universal...@gmail.com> wrote: > > hi. > https://git.postgresql.org/cgit/postgresql.git/tree/src/test/regress/expected/strings.out#n928 > > SELECT regexp_substr('abcabcabc', 'a.c'); > SELECT regexp_substr('abcabcabc', 'a.c', 2); > SELECT regexp_substr('abcabcabc', 'a.c', 1, 3); > SELECT regexp_substr('abcabcabc', 'a.c', 1, 4) IS NULL AS t; > SELECT regexp_substr('abcabcabc', 'A.C', 1, 2, 'i'); > > they all return 'abc', there are 3 'abc ' in string 'abcabcabc' > except IS NULL query. > maybe we can change regexp_substr first argument from "abcabcabc" to > "abcaXcaYc". > so the result would be more easier to understand.
anyway here is the minor patch to change string from "abcabcabc" to "abcaXcaYc".
From ffe63d9607824e6aa89d590761fcb05219b799d8 Mon Sep 17 00:00:00 2001 From: pgaddict <jian.universal...@gmail.com> Date: Thu, 28 Dec 2023 14:11:31 +0800 Subject: [PATCH v1 1/1] make regexp_substr result more easier to understand. regexp_substr using "abcabcabc" is not good for test, since in many cases, it will return "abc". there are 3 "abc" in "abcabcabc", change the test string to something else make the results more clear. --- src/test/regress/expected/strings.out | 14 +++++++------- src/test/regress/sql/strings.sql | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/test/regress/expected/strings.out b/src/test/regress/expected/strings.out index b7500d9c..7098934a 100644 --- a/src/test/regress/expected/strings.out +++ b/src/test/regress/expected/strings.out @@ -925,22 +925,22 @@ SELECT regexp_substr('abcdefghi', 'd.q') IS NULL AS t; t (1 row) -SELECT regexp_substr('abcabcabc', 'a.c'); +SELECT regexp_substr('abcaXcaYc', 'a.c'); regexp_substr --------------- abc (1 row) -SELECT regexp_substr('abcabcabc', 'a.c', 2); +SELECT regexp_substr('abcaXcaYc', 'a.c', 2); regexp_substr --------------- - abc + aXc (1 row) -SELECT regexp_substr('abcabcabc', 'a.c', 1, 3); +SELECT regexp_substr('abcaXcaYc', 'a.c', 1, 3); regexp_substr --------------- - abc + aYc (1 row) SELECT regexp_substr('abcabcabc', 'a.c', 1, 4) IS NULL AS t; @@ -949,10 +949,10 @@ SELECT regexp_substr('abcabcabc', 'a.c', 1, 4) IS NULL AS t; t (1 row) -SELECT regexp_substr('abcabcabc', 'A.C', 1, 2, 'i'); +SELECT regexp_substr('abcaXcaYc', 'A.C', 1, 2, 'i'); regexp_substr --------------- - abc + aXc (1 row) SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 0); diff --git a/src/test/regress/sql/strings.sql b/src/test/regress/sql/strings.sql index 39596789..4ed86516 100644 --- a/src/test/regress/sql/strings.sql +++ b/src/test/regress/sql/strings.sql @@ -274,11 +274,11 @@ SELECT regexp_instr('abcabcabc', 'a.c', 1, 1, 0, '', -1); -- regexp_substr tests SELECT regexp_substr('abcdefghi', 'd.f'); SELECT regexp_substr('abcdefghi', 'd.q') IS NULL AS t; -SELECT regexp_substr('abcabcabc', 'a.c'); -SELECT regexp_substr('abcabcabc', 'a.c', 2); -SELECT regexp_substr('abcabcabc', 'a.c', 1, 3); +SELECT regexp_substr('abcaXcaYc', 'a.c'); +SELECT regexp_substr('abcaXcaYc', 'a.c', 2); +SELECT regexp_substr('abcaXcaYc', 'a.c', 1, 3); SELECT regexp_substr('abcabcabc', 'a.c', 1, 4) IS NULL AS t; -SELECT regexp_substr('abcabcabc', 'A.C', 1, 2, 'i'); +SELECT regexp_substr('abcaXcaYc', 'A.C', 1, 2, 'i'); SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 0); SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 1); SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 2); -- 2.34.1