Adam Rich wrote on 01.03.2008 01:02:
"The data types of all the result expressions must be convertible to a
single output type."

The type of the field pg_class.relkind appears to be "char" which is
described in the notes as:

The type "char" (note the quotes) is different from char(1) in that it only uses one byte of storage. It is internally used in the system catalogs as a poor-man's enumeration type.

http://www.postgresql.org/docs/8.3/interactive/datatype-character.html

But one would expect "char" to be "convertible" to text for the purposes
of CASE.  Both implicit and explicit cast to text seems to work fine.

OK, I'm glad it boils down to a datatype issue ;)

My SQL frontend reported that column as char(1) so I didn't notice the subtle difference (actually the JDBC driver returns char, not "char") and tested it agains a table with (int, char(1)).

Using c.relkind::text works fine.

Thanks for all the answers

Thomas


---------------------------(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