• Tom Lane's avatar
    Fix some minor error-checking oversights in ParseFuncOrColumn(). · 0dcf68e5
    Tom Lane authored
    Recent additions to ParseFuncOrColumn to make it reject non-procedure
    functions in CALL were neither adequate nor documented.  Reorganize
    the code to ensure uniform results for all the cases that should be
    rejected.  Also, use ERRCODE_WRONG_OBJECT_TYPE for this case as well
    as the converse case of a procedure in a non-CALL context.  The
    original coding used ERRCODE_UNDEFINED_FUNCTION which seems wrong,
    and is certainly inconsistent with the adjacent wrong-kind-of-routine
    errors.
    
    This reorganization also causes the checks for aggregate decoration with
    a non-aggregate function to be made in the FUNCDETAIL_COERCION case;
    that they were not is a long-standing oversight.
    
    Discussion: https://postgr.es/m/14497.1529089235@sss.pgh.pa.us
    0dcf68e5
create_procedure.out 5.27 KB