В Втр, 24/05/2005 в 00:06 -0400, Tom Lane пишет: > Joe Conway <[EMAIL PROTECTED]> writes: > > Markus Bertheau wrote: > >> why does SELECT ARRAY(SELECT 1 WHERE FALSE) return NULL instead of > >> ARRAY[] resp. '{}'? > > > Why would you expect an empty array instead of a NULL? > > I think he's got a good point, actually. We document the ARRAY-with- > parens-around-a-SELECT syntax as > > The resulting one-dimensional array will have an element for > each row in the subquery result, with an element type matching > that of the subquery's output column. > > To me, that implies that a subquery result of no rows generates a > one-dimensional array of no elements, not a null array.
By analogy, array_upper('{}'::TEXT[], 1) should return 0 instead of NULL. Markus -- Markus Bertheau ☭ <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings