[Engine-devel] Opimizing Postgres Stored Procedures

Eli Mesika emesika at redhat.com
Mon Aug 26 09:22:20 UTC 2013


Hi

I had merged the following patch 
http://gerrit.ovirt.org/#/c/17962/

This patch introduce usage of the IMMUTABLE, STABLE and STRICT keywords in order to boost performance of the Postgres SPs.

Please make sure that your current/and future DB scripts applied that.


Volatility
----------
* A function should be marked as IMMUTABLE if it doesn't change the database, and if it doesn't perform any lookups (even for database configuration values) during its operation.
* A function should be marked STABLE if it doesn't change the database, but might perform lookups (IMMUTABLE is preferable if function meets the requirements).
* A function doesn't need to be marked VOLATILE, because that's the default.

STRICTNESS
----------
A function should be marked STRICT if it should return NULL when it is passed a NULL argument, and then the function won't even be called if it is indeed passed a NULL argument.


I am available for any questions.

Thanks 

Eli



More information about the Engine-devel mailing list