From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #5469: regexp_matches() has poor behaviour and more poor documentation |
Date: | 2010-06-01 13:58:15 |
Message-ID: | AANLkTik3Yva4rQBChx9g52w9pkktQAGf3zW39C_AUJIj@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Mon, May 31, 2010 at 10:11 AM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> Robert Haas wrote:
>> On Sat, May 29, 2010 at 5:00 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>> > I have updated the patch, attached, to clarify that this returns text
>> > arrays, and that you can force it to always return one row using
>> > COALESCE() and a '|' pattern (the later suggested by Daniele Varrazzo).
>>
>> I don't find this part to be something we should include in the
>> documentation. If we want to include a workaround, how about defining
>> a non-SRF that just calls the SRF and returns the first row?
>
> Remember this has to return one row for no matches, so a simple SRF will
> not work. I also have not seen enough demand for another function. A
> single doc mention seemed the appropriate level of detail for this.
Well, we can debate later whether to add another function to core, but
what I meant was that the user having the problem could create a
user-defined function that calls regexp_matches() and returns the
first row, or NULL.
But actually here's an even simpler workaround, which is IMHO less
ugly than the original one:
SELECT foo, bar, (SELECT regexp_matches(bar, pattern)) FROM table;
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-06-01 14:26:50 | Re: BUG #5469: regexp_matches() has poor behaviour and more poor documentation |
Previous Message | Robert Haas | 2010-06-01 13:51:27 | Re: BUG #5484: sum() bug |