• unknown's avatar
    BUG#17379 Wrong reuse of E(#rows(range)) as E(#rows(ref(const))): · 7c63a144
    unknown authored
    Re-work best_access_path() and find_best() to reuse E(#rows(range access)) as
    E(#rows(ref[_or_null](const) access) only when it is appropriate.
    [This is the final cumulative patch]
    
    
    mysql-test/r/select.result:
      BUG#17379: Testcase
    mysql-test/r/subselect.result:
      BUG#17379: Updated test results
    mysql-test/t/select.test:
      BUG#17379: Testcase
    sql/opt_range.cc:
      BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
      Make range optimizer together with TABLE::quick_* also return TABLE::quick_n_ranges
    sql/sql_select.cc:
      BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
      Re-work best_access_path() to reuse E(#rows(range access)) as
      E(#rows(ref[_or_null](const) access) only when it is appropriate.
    sql/table.h:
      BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
      Make range optimizer together with TABLE::quick_* also return TABLE::quick_n_ranges
    7c63a144
opt_range.cc 279 KB