• unknown's avatar
    Bug #28476: force index on a disabled myisam index gives error 124 · 3332b801
    unknown authored
    When processing the USE/FORCE index hints
    the optimizer was not checking if the indexes 
    specified are enabled (see ALTER TABLE).
    Fixed by:
     Backporting the fix for bug 20604 to 5.0
    
    
    mysql-test/r/key.result:
      Test for BUG 20604.
      The important part of the test is the explain output that 
      tests what indexes are used.
    mysql-test/r/myisam.result:
      Bug #28476: test cases
    mysql-test/t/key.test:
      Bug 20604: 
      The minimal test case that reveals the bug. The optimizer for 
      aggregates relies on keys disabled with ALTER TABLE ... DISABLE KEYS
      not being in the set TABLE::keys_in_use_for_query.
      When the execution engine tries to use a disabled index, MyISAM
      returns an error.
    mysql-test/t/myisam.test:
      Bug #28476: test cases
    sql/sql_base.cc:
      Bug #28476: 
       - Ignore disabled indexes in USE/FORCE index
    sql/sql_select.cc:
      Bug 20604 : The intersection operation between table->s->keys_in_use 
      and table->keys_in_use_for_query is no longer necessary.
      We can trust that the latter is a subset of the former.
    sql/table.h:
      Bug 20604:
      Added comments to TABLE_SHARE::keys_in_use and
      TABLE::keys_in_use_for_query.
    3332b801
sql_select.cc 487 KB