• Galina Shalygina's avatar
    MDEV-23983: Crash caused by query containing constant having clause · d072a296
    Galina Shalygina authored
    Before this patch the crash occured when a single row dataset is used and
    Item::remove_eq_conds() is called for HAVING. This function is not supposed
    to be called after the elimination of multiple equalities.
    
    To fix this problem instead of Item::remove_eq_conds() Item::val_int() is
    used. In this case the optimizer tries to evaluate the condition for the
    single row dataset and discovers impossible HAVING immediately. So, the
    execution phase is skipped.
    
    Approved by Igor Babaev <igor@maridb.com>
    d072a296
having.test 29 KB