Noah Misch <noah@leadboat.com> writes:
> Good points. I'm thinking, then, add an Expr argument to simplify_function()
> and have the CoerceViaIO branch of eval_const_expressions_mutator() pass NULL
> for both its simplify_function() calls. If simplify_function() gets a NULL Expr
> for a function that has a protransform, synthesize a FuncExpr based on its other
> arguments before calling the transform function. Seem reasonable? Granted,
> that would be dead code until someone applies a transform function to a type I/O
> function, which could easily never happen. Perhaps just ignore the transform
> function when we started with a CoerceViaIO node?
Until we actually have a use-case for simplifying I/O functions like this,
I can't see going out of our way for it ...
regards, tom lane