• Tom Lane's avatar
    Allow extracting fields from a ROW() expression in more cases. · 8b7a0f1d
    Tom Lane authored
    Teach get_expr_result_type() to manufacture a tuple descriptor directly
    from a RowExpr node.  If the RowExpr has type RECORD, this is the only
    way to get a tupdesc for its result, since even if the rowtype has been
    blessed, we don't have its typmod available at this point.  (If the
    RowExpr has some named composite type, we continue to let the existing
    code handle it, since the RowExpr might well not have the correct column
    names embedded in it.)
    
    This fixes assorted corner cases illustrated by the added regression
    tests.
    
    Discussion: https://postgr.es/m/10872.1572202006@sss.pgh.pa.us
    8b7a0f1d
funcapi.c 42.9 KB