"Kevin Grittner" <kevin.gritt...@wicourts.gov> writes: > Tom Lane <t...@sss.pgh.pa.us> wrote: >> Those classifications are meant as planner directives; they are >> NOT meant to be bulletproof. Hanging database integrity >> guarantees on whether a "non volatile" function changes anything >> is entirely unsafe. To give just one illustration of the >> problems, a nonvolatile function is allowed to call a volatile >> one. > Could it work to store a flag in each process to indicate when it is > executing a non-volatile function, and throw an error on any attempt > to call a volatile function or modify the database?
It's *not an error* for a nonvolatile function to call a volatile one. At least it's never been in the past, and I'm sure you'd break some applications if you made it so in the future. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers