I have heard it said that if a stored procedure is declared as VOLATILE, then no good optimizations can be done on queries within the stored procedure or queries that use the stored procedure (say as the column in a view). I have seen this in practice, recommended on the irc channel, and in the archives (http://archives.postgresql.org/pgsql-performance/2008-01/msg00283.php). Can someone help me understand or point me to some documentation explaining why this is so?
Any insights would be appreciated. I'm new to pgsql and would like to know a little more about what is going on under the hood.
Thanks,
Damon