From: | "Joel Jacobson" <joel(at)compiler(dot)org> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Mark Dilger" <mark(dot)dilger(at)enterprisedb(dot)com>, "Postgres hackers" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Andreas Karlsson" <andreas(at)proxel(dot)se>, "David Fetter" <david(at)fetter(dot)org> |
Subject: | Re: [PATCH] regexp_positions ( string text, pattern text, flags text ) → setof int4range[] |
Date: | 2021-03-04 13:21:02 |
Message-ID: | 6cf53581-c290-4490-b58f-272e224e00ff@www.fastmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Mar 2, 2021, at 06:31, Tom Lane wrote:
> "Joel Jacobson" <joel(at)compiler(dot)org> writes:
> > Unless fixed, then the way I see it, I don't think we can use int4range[] for regexp_positions(),
>
> Yeah. It's a cute idea, but the semantics aren't quite right.
Having abandoned the cute idea that didn't work,
here comes a new patch with a regexp_positions() instead returning
setof record (start_pos integer[], end_pos integer[]).
Example:
SELECT * FROM regexp_positions('foobarbequebazilbarfbonk', $re$(b[^b]+)(b[^b]+)$re$, 'g');
start_pos | end_pos
-----------+---------
{3,6} | {6,11}
{11,16} | {16,20}
(2 rows)
Based on HEAD (040af779382e8e4797242c49b93a5a8f9b79c370).
I've updated docs and tests.
/Joel
Attachment | Content-Type | Size |
---|---|---|
0002-regexp-positions.patch | application/octet-stream | 9.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2021-03-04 13:31:42 | Re: make coverage-html would fail within build directory separate from source tree |
Previous Message | Bharath Rupireddy | 2021-03-04 12:55:13 | Re: Printing backtrace of postgres processes |