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

From Markus Bertheau
Subject Re: [SQL] ARRAY() returning NULL instead of ARRAY[] resp. {}
Date
Msg-id 1116914903.7306.3.camel@localhost.localdomain
Whole thread Raw
List pgsql-hackers
Dnia 24-05-2005, wto o godzinie 00:06 -0400, Tom Lane napisał(a):
> Joe Conway <mail@joeconway.com> 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.
>
> The point Markus is complaining about seems like it should
> be easily fixable.

Great. Does this belong on the TODO?

--
Markus Bertheau <twanger@bluetwanger.de>

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Deadlocks in 7.4.x ...
Next
From: Simon Riggs
Date:
Subject: Re: Speeding up the Postgres lexer