Tom Lane writes: > Peter Eisentraut <[EMAIL PROTECTED]> writes: > > It could also be considered deterministic, strict, cacheable, > > mathematically sensible, real, pleasant, or good. ;-) > > > Out of those, I believe "const" is the worst term, because saying "sin(x) > > is a constant function" sounds pretty wrong. > > Yeah, that was my problem with "const" too. But "deterministic" has the > same problem --- in the ordinary meaning of the term, a function doesn't > become nondeterministic just because it depends on SET TIMEZONE as well > as its explicit parameters. It's also too long and too hard to spell > correctly ;-).
As it turns out, Oracle, IBM, and Microsoft use it for exactly the same purpose, and it is standard ... If you're not happy with labelling case 2 nondeterministic, add an additional clause, like USES EXTERNAL STATE. We could dig through all the adjectives in the world, but I don't think any will catch the situation quite like saying what's actually going on. > So far the only suggestion I've seen that really makes me happy is > "volatile" for case 3. Volatile means "subject to rapid or unexpected change", which is not really what case 3 is. > Brad's idea of "invariant" for case 1 isn't too bad, but as a partner > for "cacheable" it seems a bit weak; if you haven't looked at the > manual lately, will you remember which is which? Actually, IBM has VARIANT as an alias for NOT DETERMINISTIC (and NOT VARIANT for DETERMINISTIC). -- Peter Eisentraut [EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html