[Engine-devel] Opimizing Postgres Stored Procedures

Eli Mesika emesika at redhat.com
Wed Aug 28 09:45:14 UTC 2013



----- Original Message -----
> From: "Laszlo Hornyak" <lhornyak at redhat.com>
> To: "Eli Mesika" <emesika at redhat.com>
> Cc: "engine-devel" <engine-devel at ovirt.org>
> Sent: Tuesday, August 27, 2013 11:40:27 AM
> Subject: Re: [Engine-devel] Opimizing Postgres Stored Procedures
> 
> Hi Eli,
> 
> Most of the functions that we have in the DB are doing very simple jobs like
> run a query, insert/update and I see that now you have all QUERY functions
> as STABLE.
> My questions:
> Is this required for new functions from now on?
Yes and a email asking that was posted to engine_devel

> Is this done in order to improve performance?
Yes

> 
> Thank you,
> Laszlo
> 
> ----- Original Message -----
> > From: "Eli Mesika" <emesika at redhat.com>
> > To: "engine-devel" <engine-devel at ovirt.org>
> > Sent: Monday, August 26, 2013 11:22:20 AM
> > Subject: [Engine-devel] Opimizing Postgres Stored Procedures
> > 
> > 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
> > _______________________________________________
> > Engine-devel mailing list
> > Engine-devel at ovirt.org
> > http://lists.ovirt.org/mailman/listinfo/engine-devel
> > 
> 



More information about the Devel mailing list