• Igor Babaev's avatar
    MDEV-16820 Lost 'Impossible where' from query with inexpensive subquery · d567f161
    Igor Babaev authored
    This patch fixes another problem introduced by the patch for mdev-4817.
    The latter changed Item_cond::fix_fields() in such a way that it could
    call the virtual method is_expensive(). With the first its call
    the method saves the result in Item::is_expensive_cache. For all next
    calls the method returns the result from this cache. So if the item
    once was determined as expensive the method always returns true.
    For subqueries it's not good, because non-optimized subqueries always
    is considered as expensive.
    It means that the cache should be invalidated after the call of
    optimize_constant_subqueries().
    d567f161
subselect_no_scache.result 247 KB