• Tom Lane's avatar
    Clean up representation of function RTEs for functions returning RECORD. · 23160139
    Tom Lane authored
    The original coding stored the raw parser output (ColumnDef and TypeName
    nodes) which was ugly, bulky, and wrong because it failed to create any
    dependency on the referenced datatype --- and in fact would not track type
    renamings and suchlike.  Instead store a list of column type OIDs in the
    RTE.
    
    Also fix up general failure of recordDependencyOnExpr to do anything sane
    about recording dependencies on datatypes.  While there are many cases where
    there will be an indirect dependency (eg if an operator returns a datatype,
    the dependency on the operator is enough), we do have to record the datatype
    as a separate dependency in examples like CoerceToDomain.
    
    initdb forced because of change of stored rules.
    23160139
readfuncs.c 21.8 KB