On 2010-11-11 17:14, Heikki Linnakangas wrote:
> On 11.11.2010 18:11, Yeb Havinga wrote:
>> 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.
>
> Just reading such an oidvector should not throw an error, you must've
> tried to send it back to the server, perhaps to store it to a table.
Hmm.. we're reading with libpq in binary mode and the error is thrown in
the receive function call. No storing yet in a table at that point.
> But pg_statistic.stavalues* are a special anyway. They are defined as
> anyarray, but we don't normally allow you to create a table with
> anyarray columns.
>
Yes, but the test case shows the actual error can be triggered without
any use of anyarray.
If there is going to be a patch fixing things, the value
'{"1"}'::oidvector[] can't be exported and imported through binary send
recv as well.
regards,
Yeb Havinga