• Tomas Vondra's avatar
    Rework examine_opclause_expression to use varonleft · e38a55ba
    Tomas Vondra authored
    The examine_opclause_expression function needs to return information on
    which side of the operator we found the Var, but the variable was called
    "isgt" which is rather misleading (it assumes the operator is either
    less-than or greater-than, but it may be equality or something else).
    Other places in the planner use a variable called "varonleft" for this
    purpose, so just adopt the same convention here.
    
    The code also assumed we don't care about this flag for equality, as
    (Var = Const) and (Const = Var) should be the same thing. But that does
    not work for cross-type operators, in which case we need to pass the
    parameters to the procedure in the right order. So just use the same
    code for all types of expressions.
    
    This means we don't need to care about the selectivity estimation
    function anymore, at least not in this code. We should only get the
    supported cases here (thanks to statext_is_compatible_clause).
    
    Reviewed-by: Tom Lane
    Discussion: https://postgr.es/m/8736jdhbhc.fsf%40ansel.ydns.eu
    Backpatch-to: 12
    e38a55ba
extended_stats_internal.h 3.89 KB