Thread: pgsql: Teach eval_const_expressions to constant-fold LEAST/GREATESTexp

pgsql: Teach eval_const_expressions to constant-fold LEAST/GREATESTexp

From
Tom Lane
Date:
Teach eval_const_expressions to constant-fold LEAST/GREATEST expressions.

Doing this requires an assumption that the invoked btree comparison
function is immutable.  We could check that explicitly, but in other
places such as contain_mutable_functions we just assume that it's true,
so we may as well do likewise here.  (If the comparison function's
behavior isn't immutable, the sort order in indexes built with it would
be unstable, so it seems certainly wrong for it not to be so.)

Vik Fearing

Discussion: https://postgr.es/m/c6e8504c-4c43-35fa-6c8f-3c0b80a912cc@2ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6f19a8c41f976236310a272bb646d3411759e18d

Modified Files
--------------
src/backend/optimizer/util/clauses.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)