Good day experts...
Question on scalar plpgsql functions stability flags (immutable, stable) regarding how it works in sql queries.
It is clear that for immutable/stable functions with constant parameters,
query planner could/should calculate value in a parse time and use it directly in query, or at least once per query.
But it is unclear for me what exactly should/can happens when parameters are bounded not to constant values but to query fields.
In such a case there could be some caching mechanics involved for parameters combinations and result values.
Like building a hash table for that or something similar.
Can someone give me guidance on this matter.
What limits the usefulness of such a mechanism, if it exists.
Thank you.
Question on scalar plpgsql functions stability flags (immutable, stable) regarding how it works in sql queries.
It is clear that for immutable/stable functions with constant parameters,
query planner could/should calculate value in a parse time and use it directly in query, or at least once per query.
But it is unclear for me what exactly should/can happens when parameters are bounded not to constant values but to query fields.
In such a case there could be some caching mechanics involved for parameters combinations and result values.
Like building a hash table for that or something similar.
Can someone give me guidance on this matter.
What limits the usefulness of such a mechanism, if it exists.
Thank you.