Re: Supporting NULL elements in arrays

Поиск
Список
Период
Сортировка
От mark@mark.mielke.cc
Тема Re: Supporting NULL elements in arrays
Дата
Msg-id 20051109003659.GA12018@mark.mielke.cc
обсуждение исходный текст
Ответ на Re: Supporting NULL elements in arrays  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Tue, Nov 08, 2005 at 07:21:34PM -0500, Tom Lane wrote:
> I wrote:
> > ... the most straightforward thing to do is define an empty element
> > as meaning a NULL.  But this might be objected to on a couple of grounds:
> I just thought of another, potentially fatal objection: it's ambiguous
> whether '{}'::text[] should be taken to mean an empty (zero-length)
> array or an array containing a single NULL element.

To take another perspective on this, though - it isn't possible to have
NULL array elements right now, therefore, there is no precident, and who
is to say that {NULL} <> {}?

For example:
   vhosts=> select ('{1, 3}'::text[])[4];    text   ------
   (1 row)
   vhosts=> select ('{}'::text[])[4];    text   ------
   (1 row)

Perhaps NULL at end of array never needs to be stored, and arrays can
be considered to have an infinite number of NULL values at the end?

For array operations that require a length, such as cross-product, or
whatever, the 'length' of the array, would be the number of elements
before the infinite number of NULL values at the end.

Cheers,
mark

-- 
mark@mielke.cc / markm@ncf.ca / markm@nortel.com     __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   | 
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada
 One ring to rule them all, one ring to find them, one ring to bring them all                      and in the darkness
bindthem...
 
                          http://mark.mielke.cc/



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

Предыдущее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: DTrace?
Следующее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: Supporting NULL elements in arrays