Vinay Jain said:
> hi
> ya function is declared immutable and strict... also made btree
> index..
The docs state this about immutable functions:
IMMUTABLE indicates that the function always returns the same result when
given the same argument values; that is, it does not do database lookups
or otherwise use information not directly present in its argument list.
So it appears you are lying to postgres when you declare your function to
be immutable, because you are doing a database lookup.
Why not just code your lookup table as static data immediately available
to your function, and look it up from C directly, rather than using a
database table? Then your function could be genuinely immutable (and fast).
cheers
andrew