Re: [SQL] ARRAY() returning NULL instead of ARRAY[] - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [SQL] ARRAY() returning NULL instead of ARRAY[]
Date
Msg-id 200506250150.j5P1oNO01032@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] ARRAY() returning NULL instead of ARRAY[]  (Markus Bertheau ☭ <twanger@bluetwanger.de>)
Responses Re: [SQL] ARRAY() returning NULL instead of ARRAY[]
List pgsql-hackers
Is this a TODO item?

---------------------------------------------------------------------------

Markus Bertheau ? wrote:
> ? ???, 06/06/2005 ? 08:58 -0700, Joe Conway ?????:
> > Joe Conway wrote:
> > > Actually, consistent with my last post, I think array_upper() on a 
> > > zero-element array should return NULL. A zero-element array has a 
> > > defined lower bound, but its upper bound is not zero -- it is really 
> > > undefined.
> > 
> > Just to clarify my response, this is what I propose:
> > 
> > regression=# select array_upper('[2][1:]={{},{}}'::int[],1);
> >   array_upper
> > -------------
> >             2
> > (1 row)
> > 
> > regression=# select array_upper('[2][1:]={{},{}}'::int[],2) IS NULL;
> >   ?column?
> > ----------
> >   t
> > (1 row)
> 
> Hmm, this gets really complicated and inconsistent. Complicated means
> unusable. What about modifying the dimension syntax such that the second
> number means number of elements instead of upper bound? That particular
> problem would go away then, and array_upper('[0:0]={}'::int[]) can
> return the correct 0 then.
> 
> What I'm actually worrying about is that array_upper(array(select 1
> where false)) returns 0.
> 
> An option would be to drop the possibility to let the array start at
> another index than 0. I don't know why it was decided to do that in the
> first place. It seems a rather odd feature to me.
> 
> Markus
> -- 
> Markus Bertheau ? <twanger@bluetwanger.de>
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [COMMITTERS] pgsql: Fix NUMERIC modulus to properly truncate
Next
From: Bruce Momjian
Date:
Subject: Re: [COMMITTERS] pgsql: Fix NUMERIC modulus to properly