• Tom Lane's avatar
    Add infrastructure for storing a VARIADIC ANY function's VARIADIC flag. · 75b39e79
    Tom Lane authored
    Originally we didn't bother to mark FuncExprs with any indication whether
    VARIADIC had been given in the source text, because there didn't seem to be
    any need for it at runtime.  However, because we cannot fold a VARIADIC ANY
    function's arguments into an array (since they're not necessarily all the
    same type), we do actually need that information at runtime if VARIADIC ANY
    functions are to respond unsurprisingly to use of the VARIADIC keyword.
    Add the missing field, and also fix ruleutils.c so that VARIADIC ANY
    function calls are dumped properly.
    
    Extracted from a larger patch that also fixes concat() and format() (the
    only two extant VARIADIC ANY functions) to behave properly when VARIADIC is
    specified.  This portion seems appropriate to review and commit separately.
    
    Pavel Stehule
    75b39e79
catversion.h 2.53 KB