From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David E(dot) Wheeler" <david(at)kineticode(dot)com>, Greg Stark <gsstark(at)mit(dot)edu>, Thom Brown <thom(at)linux(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: string_to_array with an empty input string |
Date: | 2010-08-11 17:53:12 |
Message-ID: | AANLkTi=Nxf1ViXop_k4hZtC=ASd2dTPCeDryUndZLZKg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Aug 11, 2010 at 1:32 PM, Peter Geoghegan
<peter(dot)geoghegan86(at)gmail(dot)com> wrote:
>> Yeah, I think David's examples are talking about the behavior of join,
>> but we're trying to decide what split should do. I think the main
>> argument for making it return NULL is that you can then fairly easily
>> use COALESCE() to get whatever you want. That's a bit more difficult
>> if you use return any other value.
>
> I think that there's a need for additional built-in array functions,
> including one to succinctly test if an array has no elements.
What do you propose? I think the easiest ways to do it right now are:
array_length(arr, 1) is null
or just using an equality test, like this:
arr = '{}'::int[]
> Iterating through an array with plpgsql, for example, is more clunky
> than it should be.
Really?
FOR var IN SELECT UNNEST(arr) LOOP ... END LOOP
I mean, doing everything is sort of clunky in PL/pgsql, but this
doesn't seem particularly bad as PL/pgsql idioms go.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | David E. Wheeler | 2010-08-11 17:54:27 | Re: string_to_array with an empty input string |
Previous Message | David E. Wheeler | 2010-08-11 17:49:52 | Re: string_to_array with an empty input string |