Make eval_const_expressions() preserve typmod when simplifying something like

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

Commit: f8942f4a15fa5baa51c52491147a1bb910532332
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-09-06T17:31:58Z
Releases: 8.3.0
Make eval_const_expressions() preserve typmod when simplifying something like
null::char(3) to a simple Const node.  (It already worked for non-null values,
but not when we skipped evaluation of a strict coercion function.)  This
prevents loss of typmod knowledge in situations such as exhibited in bug
#3598.  Unfortunately there seems no good way to fix that bug in 8.1 and 8.2,
because they simply don't carry a typmod for a plain Const node.

In passing I made all the other callers of makeNullConst supply "real" typmod
values too, though I think it probably doesn't matter anywhere else.

Files