• Tom Lane's avatar
    Fix an old problem in decompilation of CASE constructs: the ruleutils.c code · eea49769
    Tom Lane authored
    looks for a CaseTestExpr to figure out what the parser did, but it failed to
    consider the possibility that an implicit coercion might be inserted above
    the CaseTestExpr.  This could result in an Assert failure in some cases
    (but correct results if Asserts weren't enabled), or an "unexpected CASE WHEN
    clause" error in other cases.  Per report from Alan Li.
    
    Back-patch to 8.1; problem doesn't exist before that because CASE was
    implemented differently.
    eea49769
ruleutils.c 169 KB