Moshe Jacobson <moshe@xxxxxxxxxxxx> writes: > I am of the belief that if the function in a CTE is volatile, that it > should be executed unconditionally. [ shrug... ] Consider SELECT volatile_function(i) FROM generate_series(1, 10) i LIMIT 1; How many times should the volatile function get executed? If your answer is not "10", how is this different from the CTE case? This LIMIT clause is restricting the number of times the function executes in pretty much the same way that our definition of CTE evaluation does, AFAICS. You could of course argue that our definition of LIMIT is wrong too, but that's going to raise the bar for convincing people even higher, because of the number of existing applications that such a redefinition would break. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general