1. 05 Mar, 2007 1 commit
    • unknown's avatar
      WL#3527: Extend IGNORE INDEX so places where index is ignored · 79542930
      unknown authored
               can be specified
      Currently MySQL allows one to specify what indexes to ignore during
      join optimization. The scope of the current USE/FORCE/IGNORE INDEX 
      statement is only the FROM clause, while all other clauses are not 
      affected.
      
      However, in certain cases, the optimizer
      may incorrectly choose an index for sorting and/or grouping, and
      produce an inefficient query plan.
      
      This task provides the means to specify what indexes are
      ignored/used for what operation in a more fine-grained manner, thus
      making it possible to manually force a better plan. We do this
      by extending the current IGNORE/USE/FORCE INDEX syntax to:
      
      IGNORE/USE/FORCE INDEX [FOR {JOIN | ORDER | GROUP BY}]
      
      so that:
      - if no FOR is specified, the index hint will apply everywhere.
      - if MySQL is started with the compatibility option --old_mode then
        an index hint without a FOR clause works as in 5.0 (i.e, the 
        index will only be ignored for JOINs, but can still be used to
        compute ORDER BY).
      
      See the WL#3527 for further details.
      
      
      BitKeeper/deleted/.del-mysqld.cc.rej:
        Rename: sql/mysqld.cc.rej -> BitKeeper/deleted/.del-mysqld.cc.rej
      BitKeeper/deleted/.del-sql_parse.cc.rej:
        Rename: sql/sql_parse.cc.rej -> BitKeeper/deleted/.del-sql_parse.cc.rej
      BitKeeper/deleted/.del-table.cc.rej:
        Rename: sql/table.cc.rej -> BitKeeper/deleted/.del-table.cc.rej
      mysql-test/r/endspace.result:
        WL3527 : fixed undeterministic test
      mysql-test/r/group_by.result:
        WL#3527: test cases
      mysql-test/t/endspace.test:
        WL3527 : fixed undeterministic test
      mysql-test/t/group_by.test:
        WL#3527: test cases
      sql/item.cc:
        WL#3527: renames
      sql/mysql_priv.h:
        WL#3527: corrected initialization
      sql/mysqld.cc:
        WL#3527: added old_mode command line option
      sql/opt_range.cc:
        WL#3527: renames
      sql/sql_base.cc:
        WL#3527: 
         - renames
         - correct initialization
         - extended the processing of USE/FORCE/IGNORE index
      sql/sql_class.h:
        WL#3527: added old_mode command line option
      sql/sql_delete.cc:
        WL#3527: renames
      sql/sql_help.cc:
        WL#3527: renames
      sql/sql_lex.cc:
        WL#3527: extended parsing of USE/FORCE/IGNORE index
      sql/sql_lex.h:
        WL#3527: extended parsing of USE/FORCE/IGNORE index
      sql/sql_parse.cc:
        WL#3527: extended parsing of USE/FORCE/IGNORE index
      sql/sql_select.cc:
        WL#3527:
         - renames
         - passing additional info to support the extended 
           USE/FORCE/IGNORE INDEX syntax
         - If there is a covering index, and we have 
           IGNORE INDEX FOR GROUP/ORDER, and this index is 
           used for the JOIN part, then we have to ignore the
           IGNORE INDEX FOR GROUP/ORDER.
      sql/sql_show.cc:
        WL#3527: passing additional info to support the extended 
           USE/FORCE/IGNORE INDEX syntax
      sql/sql_update.cc:
        WL#3527: renames
      sql/sql_yacc.yy:
        WL#3527: extended parsing of USE/FORCE/IGNORE index
      sql/table.cc:
        WL#3527: extended the processing of USE/FORCE/IGNORE index
      sql/table.h:
        WL#3527: extended the processing of USE/FORCE/IGNORE index
      storage/myisam/ha_myisam.cc:
        WL#3527: extended the processing of USE/FORCE/IGNORE index
      79542930
  2. 12 Dec, 2006 4 commits
  3. 11 Dec, 2006 1 commit
  4. 07 Dec, 2006 7 commits
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · e54bbaa3
      unknown authored
      into  example.com:/work/mysql-5.1-maint
      
      
      e54bbaa3
    • unknown's avatar
      Additional fix for bug#22369 · 0a22a1b9
      unknown authored
      
      mysql-test/t/events_bugs.test:
        let events_bugs not fail because of timing
      sql/sql_table.cc:
        if the db or name has been changed ALTER_RENAME,
        then fix table_list
        Solution by having the second table added in the parser to the
        list of used tables, won't work because checking of rights of merge
        tables goes over table_list->next_local and checks the rights, so
        we will fail there.
      sql/sql_yacc.yy:
        fix name - prevents ddd from correct working
      0a22a1b9
    • unknown's avatar
      Merge mysql.com:/home/hf/work/pfix/my50-pfix · 893055be
      unknown authored
      into  mysql.com:/home/hf/work/pfix/my51-pfix
      
      
      mysql-test/r/gis.result:
        Auto merged
      mysql-test/t/gis.test:
        Auto merged
      893055be
    • unknown's avatar
      merging fix · e8be5f6d
      unknown authored
      
      mysql-test/r/gis.result:
        result fixed
      mysql-test/t/gis.test:
        path to datafile fixed
      e8be5f6d
    • unknown's avatar
      merging · e7efe2a9
      unknown authored
      e7efe2a9
    • unknown's avatar
      Merge mysql.com:/home/hf/work/22372/my50-22372 · 07de4b3a
      unknown authored
      into  mysql.com:/home/hf/work/22372/my51-22372
      
      
      mysql-test/t/gis.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      mysql-test/r/gis.result:
        SCCS merged
      sql/field.h:
        merging
      07de4b3a
    • unknown's avatar
      merging · 7341315d
      unknown authored
      
      mysql-test/r/gis.result:
        result fixed
      sql/field.cc:
        Field_*::reset() now returns int
      sql/sql_load.cc:
        merging fix
      7341315d
  5. 06 Dec, 2006 10 commits
  6. 05 Dec, 2006 17 commits