Re: IMMUTABLE function to cast enum to/from text?

Philip Semanchuk <philip@americanefficient.com>

From: Philip Semanchuk <philip@americanefficient.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joe Conway <mail@joeconway.com>, PostgreSQL General <pgsql-general@lists.postgresql.org>
Date: 2022-11-10T23:33:36Z
Lists: pgsql-general

> On Nov 10, 2022, at 3:39 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 
> Joe Conway <mail@joeconway.com> writes:
>> 
>> CREATE OR REPLACE FUNCTION mood2text(mood)
>> RETURNS text AS
>> $$
>>  select $1
>> $$ STRICT IMMUTABLE LANGUAGE sql;
> 
> Of course, what this is doing is using a SQL-function wrapper to
> lie about the mutability of the expression.  Whether you consider
> that elegant is up to you ;-) ... but it should work, as long as
> you don't break things by renaming the enum's values.


Thanks Joe and Tom,
I’m comfortable lying to Postgres occasionally — never for evil, only for good of course. :-)


Cheers
Philip