Re: ARRAY() returning NULL instead of ARRAY[] resp. {}

Поиск
Список
Период
Сортировка
От Markus Bertheau ☭
Тема Re: ARRAY() returning NULL instead of ARRAY[] resp. {}
Дата
Msg-id 1118067445.5506.6.camel@dicaprio.akademie1.de
обсуждение исходный текст
Ответ на Re: ARRAY() returning NULL instead of ARRAY[] resp. {}  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ARRAY() returning NULL instead of ARRAY[] resp. {}  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
В Втр, 24/05/2005 в 00:06 -0400, Tom Lane пишет:
> 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.

By analogy, array_upper('{}'::TEXT[], 1) should return 0 instead of
NULL.

Markus

-- 
Markus Bertheau ☭ <twanger@bluetwanger.de>



В списке pgsql-sql по дате отправления:

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: how to store more than 3 MB of character data in Postgres
Следующее
От: "ON.KG"
Дата:
Сообщение: What is faster?