Tom Lane wrote:
Heikki Linnakangas <[EMAIL PROTECTED]> writes:
[EMAIL PROTECTED] wrote:
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".

You can change the way a conversion is done with CREATE/DROP CONVERSION. That's why it can't be IMMUTABLE.

The other reason is that it depends on the database encoding.  I suppose
you could make an argument that that's fixed for as long as IMMUTABLE
needs to think about --- but we'd have to remember to undo the marking
if database encoding ever becomes less fixed.

Just out of curiosity, what's the use-case for this function in an index
anyway?

                        regards, tom lane

Thank you all for the responses!
Well, the use case is a strange one... I would like to use a varchar() column for storing a variable-length vector of integers. The numbers are represented by the codepoints. Therefore, I need to sort them as binary data, not as characters. I would often need to get all the vectors that lie in between to vectors, therefore I need the "binary" index. And the code should be as database independent as possible, therefore I cannot use an array or another data type that may not be supported by other DBMS.

Regards,
Andreas Peer

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to