Weiping He <laser(at)zhengmai(dot)com(dot)cn> writes:
> because the data type (UUID) is a struct,
> and the uuid_eq() function accept two pointer to the value of struct uuid,
> if make it IMMUTABLE, postgresql would think it should not try to run
> the function, but return the cached value instead when it get two same
> pointers input,
No, it will not. Your claim above is entirely wrong; the fact that the
datatype is pass-by-reference doesn't affect anything (unless you've
failed to declare the datatype that way, but if so I'd not think it
would work at all).
regards, tom lane