From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | Joshua Tolley <eggyknap(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Operators based on non-IMMUTABLE functions |
Date: | 2009-03-05 18:48:25 |
Message-ID: | 1236278905.24607.7.camel@dell.linuxdev.us.dell.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 2009-03-05 at 11:27 -0700, Joshua Tolley wrote:
> I've recently run into a problem with a datatype whose operators are
> based on functions not marked IMMUTABLE. Although there might be good
> reasons to have such a thing, it seems like it might be a valuable
> warning message if you create an operator based on an non-IMMUTABLE
> function. Comments?
>
When I do:
select oprname, oprcode, provolatile from pg_operator , pg_proc where
pg_proc.oid::regclass = oprcode and provolatile <> 'i';
There are a bunch of operators related to TIMESTAMPTZ and full text
search that are marked as STABLE.
I don't know what the guidelines are for using a WARNING, but the
examples that come to mind are generally things that can be fixed. For
instance, if you get a WARNING for using non-standard backslash escapes,
you can fix it by using E''.
However, I agree that forgetting to mark functions correctly is a pretty
significant problem.
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-03-05 19:10:36 | Re: Operators based on non-IMMUTABLE functions |
Previous Message | Joshua Tolley | 2009-03-05 18:27:29 | Operators based on non-IMMUTABLE functions |