• Tom Lane's avatar
    Remove unnecessary restrictions about RowExprs in transformAExprIn(). · a4424c57
    Tom Lane authored
    When the existing code here was written, it made sense to special-case
    RowExprs because that was the only way that we could handle row comparisons
    at all.  Now that we have record_eq() and arrays of composites, the generic
    logic for "scalar" types will in fact work on RowExprs too, so there's no
    reason to throw error for combinations of RowExprs and other ways of
    forming composite values, nor to ignore the possibility of using a
    ScalarArrayOpExpr.  But keep using the old logic when comparing two
    RowExprs, for consistency with the main transformAExprOp() logic.  (This
    allows some cases with not-quite-identical rowtypes to succeed, so we might
    get push-back if we removed it.)  Per bug #8198 from Rafal Rzepecki.
    
    Back-patch to all supported branches, since this works fine as far back as
    8.4.
    
    Rafal Rzepecki and Tom Lane
    a4424c57
parse_expr.c 70.7 KB