From: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Adding regexp_match() function |
Date: | 2010-05-31 02:09:53 |
Message-ID: | AANLkTil2Bc0g0l7glfEahqKJSDh0-m4IKfUkq44J2iaB@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
I'd like to contribute a "regexp_match()" function as discussed in bug
#5469 [1] The aim is to overcome the limitation outlined in the thread
above <http://archives.postgresql.org/pgsql-bugs/2010-05/msg00227.php>.
PostgreSQL currently offers the function regexp_matches(), a SRF
(which, unless invoked with the 'g' flag, returns at most one result).
An user interested in the "nonglob" behaviour, i.e. expecting at most
1 match group, has to adopt special care to avoid records to be
dropped from the target list in case no match is found. Being this a
rather common use case, I'd like to provide a function with a less
astonishing behaviour, i.e. returning a text[] instead of a set of
text[] and returning NULL in case no match is found (the 'g' flag
wouldn't be supported).
The proposed name is regexp_match(), to underline the semantics very
similar to regexp_matches() but returning a single value as result.
While the symmetry between the names is a pro, an excessive similarity
may result confusing, so I wouldn't be surprised if a better name is
found. The implementation of the function is very simple, given the
infrastructure already available for the other regexp-related
functions. I've actually already implemented it (mostly to check how
easy or hard it would have been: I had never written a C procedure for
PG before): a preliminary patch is attached.
If the idea is accepted I will submit a complete patch including
documentation and tests.
Best regards,
-- Daniele
Attachment | Content-Type | Size |
---|---|---|
regexp_match.patch | text/x-patch | 3.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-05-31 02:42:25 | Re: Unexpected page allocation behavior on insert-only tables |
Previous Message | Takahiro Itagaki | 2010-05-31 00:59:01 | Re: fillfactor gets set to zero for toast tables |