pgsql: Teach eval_const_expressions to constant-fold LEAST/GREATEST exp

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Teach eval_const_expressions to constant-fold LEAST/GREATEST exp
Date: 2018-12-30 18:42:11
Message-ID: E1gdg2N-0001ga-Nb@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-12-30 20:40:16 pgsql: Support parameterized TidPaths.
Previous Message Fabien COELHO 2018-12-30 10:06:52 Re: pgsql: Use a separate random seed for SQL random()/setseed() functions.