> PostgreSQL version: 8.3.3
> Operating system: Linux
> Description: convert_to() should be immutable
> The function convert_to(string text, dest_encoding name) is not allowed to
> be used in a index expression, because it is not marked as "IMMUTABLE".
> According to the documentation, a function is immutable if it does not
> modify the database, and for the same arguments, it returns always the same
> results. I think that all of these conditions can be applied to the
> convert_to()-function, therefore it should be marked as "IMMUTABLE".
You can change the way a conversion is done with CREATE/DROP CONVERSION.
That's why it can't be IMMUTABLE.
(I doubt any sane person would actually do that, but that's another debate)