>
> > +               /*
> > +                * Here, we cannot deparsing cast_expr directly, since
> > +                * transformTypeSafeCast may have folded it into a simple
> > +                * constant or NULL. Instead, we use source_expr and
> > +                * default_expr to reconstruct the CAST DEFAULT clause.
> > +                */
> >
> > I am wondering how other places handle expression deparsing; do they
> > hold the original expression along with the transformed expression?
>

In my initial implementation of this, I modified CoalesceExpr to ensure
that the default clause was evaluated if and only if the initial expression
failed.



> rebased, many variable names have been renamed, comments adjusted.


The new SAFE option on user defined cast functions looks good to me.

I am concerned that adding _safe overhead to all cast functions will be
received poorly, but if it is poorly received then reverting isn't that
hard.

I'm going to re-review the whole patch set, but I wanted to say that I like
the main points of the changes so far.

Reply via email to