Skip site navigation (1) Skip section navigation (2)

Re: BUG #4421: convert_to() should be immutable

From: Andreas Peer <andipeer(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #4421: convert_to() should be immutable
Date: 2008-09-18 07:41:57
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
Tom Lane wrote:
> Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
>> andipeer(at)gmx(dot)net 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.

Andreas Peer

In response to


pgsql-bugs by date

Next:From: Abdul RehmanDate: 2008-09-18 07:44:19
Subject: BUG #4423: Impementing replication via pgadmin
Previous:From: ITAGAKI TakahiroDate: 2008-09-18 06:57:55
Subject: Re: [HACKERS] 0x1A in control file on Windows

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group