On Sun, 1 Mar 2009, Tom Lane wrote: > I wrote: > > The standard doesn't have multi-dimensional arrays, so it's entirely > > possible that somewhere in it there is wording that makes cardinality() > > equivalent to the length of the first dimension. But I concur with > > Andrew that this is flat wrong when extended to m-d arrays. > > I poked around in the SQL:2008 draft a bit. AFAICT the most precise > statement about cardinality() is in 6.27 <numeric value function>: > > <cardinality expression> ::= > CARDINALITY<left paren> <collection value expression> <right paren> > > 7) The result of <cardinality expression> is the number of elements of > the result of the <collection value expression>. > > Now the standard is only considering 1-D arrays, but I fail to see any > way that it could be argued that the appropriate reading of "number of > elements" for a multi-D array is the length of the first dimension.
Does the standard allow you to make arrays of arrays, for example with something like ARRAY[ARRAY[1,2], ARRAY[3,4]]? If so, it might be possible that cardinality(<that expression>) would be returning the number of arrays in the outer array. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers