On Thu, Apr 21, 2011 at 4:05 AM, Brendan Jurd <direvus@gmail.com> wrote:
>
> "IMMUTABLE indicates that the function cannot modify the database and
> always returns the same result when given the same argument values"
>
> Emphasis on "always". If the result of the function, given the same
> argument values, can be different after a SET, then it doesn't qualify
> for immutability. At least, that's my understanding.
That's a ridiculous use of the word "Immutable"
In any CS class, the timezone would be an implicit input to the
function. So it would be immutable in *that* sense (it also takes
timezone into consideration).
Perhaps the optimizer should take contextual information that cannot
change inside a query as input too.