Merlin Moncure wrote:
I noticed that enums are not available to be queried as binary through
the protocol.  Is this a known issue?  Too late to fix for 8.3?  This
is kind of a pain, because it forces any query that returns an enum to
return the entire result as text.  afaik, enums are the only POD type
to behave this way.

postgres=# create type foo as enum('foo');
CREATE TYPE

postgres=# copy (select 'foo'::foo) to '/home/postgres/foo.txt' binary;
ERROR:  no binary output function available for type foo


The trouble is that an enum doesn't have an immutable internal binary value.

I guess we could say that the binary value is the integer offset of the value in the enum ordering, and translate it back on input. Providing the binary IO funcs shouldn't be too hard if we do that, unless I'm missing something.

cheers

andrew



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to