On Thu, Oct 10, 2013 at 04:10:35PM -0700, Dwayne Towell wrote: > > According to the documentation, f() should be marked VOLATILE also, since > > calling f() produces side effects. PostgreSQL does not give a warning (or > > better yet, an error); I think it should. > > I think the answer is that function authors are required to prevent > functions they mark as STABLE from calling VOLATILE functions. > > -- > > I understand it's an error (at least usually), my question/issue is why does > PostgreSQL NOT give at least a warning when a programmer (probably > accidentally) calls a VOLATILE function in one that he has specifically > tagged as STABLE? The compiler has all the information to notify the > programmer of a mistake, but isn't. This violates a fundamental principle of > software engineering--take every opportunity to prevent errors.
Well, we can't walk the function tree to know all called functions, and those they call, so we don't even try. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs