Re: Is there any method to keep table in memory at startup - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Is there any method to keep table in memory at startup
Date
Msg-id 1771.24.211.141.25.1083848817.squirrel@www.dunslane.net
Whole thread Raw
In response to Re: Is there any method to keep table in memory at startup  (Vinay Jain <vinayj@sarathi.ncst.ernet.in>)
Responses Re: Is there any method to keep table in memory at startup  (Vinay Jain <vinayj@sarathi.ncst.ernet.in>)
List pgsql-hackers
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






pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Fixing the Turkish problem
Next
From: Vinay Jain
Date:
Subject: Re: Is there any method to keep table in memory at startup