Refactor simplify_function et al to centralize argument simplification.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 81a646febe87964725647a36d839f6b4b405f3ae
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-03-23T23:15:58Z
Releases: 9.2.0
Refactor simplify_function et al to centralize argument simplification.

We were doing the recursive simplification of function/operator arguments
in half a dozen different places, with rather baroque logic to ensure it
didn't get done multiple times on some arguments.  This patch improves that
by postponing argument simplification until after we've dealt with named
parameters and added any needed default expressions.

Marti Raudsepp, somewhat hacked on by me

Files

PathChange+/−
src/backend/optimizer/util/clauses.c modified +107 −134