On 2010-11-11 16:48, Tom Lane wrote:
> "Yeb Havinga"<yebhavinga@gmail.com> writes:
>> postgres=# create table a as select ''::oidvector;
>> SELECT 1
>> postgres=# copy a to '/tmp/test' with binary;
>> COPY 1
>> postgres=# copy a from '/tmp/test' with binary;
>> ERROR: invalid oidvector data
> The problem seems to be that array_recv passes back a zero-dimensional
> array, *not* a 1-D array, when it observes that the input has no
> elements. A zero-D array is not part of the subset of possible arrays
> that we allow for oidvector.
>
> I'm less than convinced that this is worth fixing. oidvector is not
> intended for general-purpose use anyway. What's the use-case where this
> would come up?
We're currently reading data from a remote pg_statistics, in particular
stavalues1.. etc. Even when our own user defined relations do not make
use of oidvectors (or intvectors), during testing on arbitrary
pg_statistic rows we encountered this error message. Nonetheless we
decided to report it as a bug, since it was not related to anyarray
handling, but clearly a bug that oidvector cannot input binary, what it
can input as text and output binary.
regards,
Yeb Havinga