• Sergei Petrunia's avatar
    MDEV-6480: Remove conditions for which range optimizer returned SEL_ARG::IMPOSSIBLE · be00e279
    Sergei Petrunia authored
    Let range optimizer remove parts of OR-clauses for which range analysis
    produced SEL_TREE(IMPOSSIBLE).
    There is no need to remove parts of AND-clauses: either they are inside
    of OR (and the whole AND-clause will be removed), or the AND-clause is
    at the top level, in which case the whole WHERE (or ON) is always FALSE
    and this is a degenerate case which receives special treatment.
    
    The removal process takes care not to produce 1-way ORs (in that case
    we substitute the OR for its remaining member).
    be00e279
opt_range.h 33.4 KB