Code review for protransform patches.

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

Commit: 0339047bc93147c1c6f78f867ae6b0c215406235
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-03-23T21:29:57Z
Releases: 9.2.0
Code review for protransform patches.

Fix loss of previous expression-simplification work when a transform
function fires: we must not simply revert to untransformed input tree.
Instead build a dummy FuncExpr node to pass to the transform function.
This has the additional advantage of providing a simpler, more uniform
API for transform functions.

Move documentation to a somewhat less buried spot, relocate some
poorly-placed code, be more wary of null constants and invalid typmod
values, add an opr_sanity check on protransform function signatures,
and some other minor cosmetic adjustments.

Note: although this patch touches pg_proc.h, no need for catversion
bump, because the changes are cosmetic and don't actually change the
intended catalog contents.

Files