Re: array_dims array_lower/upper distance - Mailing list pgsql-general

From Bruno Wolff III
Subject Re: array_dims array_lower/upper distance
Date
Msg-id 20050923025251.GA12881@wolff.to
Whole thread Raw
In response to Re: array_dims array_lower/upper distance  (Guy Fraser <guy@incentre.net>)
Responses Re: array_dims array_lower/upper distance
List pgsql-general
On Thu, Sep 22, 2005 at 14:16:48 -0600,
  Guy Fraser <guy@incentre.net> wrote:
> On Thu, 2005-22-09 at 12:43 -0400, Greg Stark wrote:
> > Guy Fraser <guy@incentre.net> writes:
> >
> > > So to answer his question he would likely want :
> > >
> > > SELECT
> > >  array_upper(item,1) - array_upper(item,0) + 1 as elements
> > > FROM
> > >  arraytest ;
> >
> > Note that this doesn't work for empty arrays.
> > It will return NULL instead of 0.
> Your response was not at all helpfull, I would like to
> encourage you to expand on what I put off the top of my
> head.
>
> I have not used array_upper() before, and the question was
> how to return the total number of elements, not how to
> handle NULL and empty arrays.

I think his point was that your example was going to give the wrong answer
for empty arrays, which is relevant to your question. The normal way around
that is to use the COALESCE function.

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: PQtrace doesn't work
Next
From: "Jim C. Nasby"
Date:
Subject: Re: Lines of code in PG 8.0 & 8.1?