Re: BUG #5748: Invalid oidvector data during binary recv

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #5748: Invalid oidvector data during binary recv
Дата
Msg-id 16032.1289839906@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #5748: Invalid oidvector data during binary recv  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #5748: Invalid oidvector data during binary recv  (Greg Stark <gsstark@mit.edu>)
Список pgsql-bugs
I wrote:
> Yeb Havinga <yebhavinga@gmail.com> writes:
>> Binary send and recv of the value at hand would change it into a 0-D vector.

> The reason for that is that in general we don't make a distinction
> between zero-size arrays of different dimensions.

Actually, after consuming a bit more caffeine, I see what Yeb is on about.
Even though the system in general doesn't make much of a distinction
between zero-element arrays of different dimensionalities, there *are*
functions that can distinguish --- array_ndims() being the most obvious
one.  Shouldn't we ensure that binary dump and reload of an array value
doesn't change the value in any SQL-observable way?  If so, I think his
patch is correct, even though it's changing more than just the
originally-complained-of behavior.

While I'm looking at this ... why is it that array_ndims returns NULL
and not 0 for a zero-dimensional array?  0-D arrays might have been
unsupported at one time, but they're certainly considered valid now.

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #5748: Invalid oidvector data during binary recv
Следующее
От: Greg Stark
Дата:
Сообщение: Re: BUG #5748: Invalid oidvector data during binary recv