1. 05 Jun, 2007 1 commit
    • unknown's avatar
      BUG#26976 - Missing table in merge not noted in related error msg + · 55c76592
      unknown authored
                  SHOW CREATE TABLE fails
      
      Underlying table names, that merge engine fails to open were not
      reported.
      
      With this fix CHECK TABLE issued against merge table reports all
      underlying table names that it fails to open. Other statements
      are unaffected, that is underlying table names are not included
      into error message.
      
      This fix doesn't solve SHOW CREATE TABLE issue.
      
      
      myisammrg/myrg_def.h:
        Added myrg_print_wrong_table declaration.
      myisammrg/myrg_open.c:
        If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
        report names of tables that we fail to open.
      mysql-test/r/backup.result:
        Updated test result.
      mysql-test/r/key_cache.result:
        Updated test result - removed duplicate error.
      mysql-test/r/lock.result:
        Updated test result - added summary row.
      mysql-test/r/merge.result:
        A test case for BUG#26976.
      mysql-test/r/preload.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/ps.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/repair.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/rpl_failed_optimize.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/sp.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/r/view.result:
        Updated test result - removed duplicate error, added summary row.
      mysql-test/t/merge.test:
        A test case for BUG#26976.
      sql/ha_myisam.cc:
        Do not report same error twice.
      sql/ha_myisammrg.cc:
        If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
        report names of tables that we fail to open.
        
        Added dummy ha_myisammrg::check to not confuse users with
        "not implemented" error in case all underlying tables are
        fine.
      sql/ha_myisammrg.h:
         Added ha_myisammrg::check declaration.
      sql/share/errmsg.txt:
        Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead
        of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is
        passed to merge engine handler open function.
      sql/sql_error.cc:
        warning_level_* are now public. It is required by mysql_admin_table to
        report message level.
      sql/sql_error.h:
        warning_level_* are now public. It is required by mysql_admin_table to
        report message level.
      sql/sql_table.cc:
        Reorder mysql_admin_table arguments to meet it's definition.
        
        Report errors that are pending in thd->warn_list as results of
        admin function.
      55c76592
  2. 01 Jun, 2007 2 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG28574/mysql-4.1-engines · 12d55a8c
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG28574/mysql-5.0-engines
      
      
      sql/lock.cc:
        SCCS merged
      12d55a8c
    • unknown's avatar
      BUG#28574 - repair table causes queries to fail with various · 93b10124
      unknown authored
                  corruption errors: 126,134,145
      
      When one thread attempts to lock two (or more) tables and another
      thread executes statement that aborts these locks (e.g. REPAIR
      TABLE) we may get a table object with wrong lock type in a table
      cache.
      
      For example if SELECT FROM t1,t2 was aborted, subsequent INSERT
      INTO t1 may be executed under read lock.
      
      As a result we may get various table corruptions and even a server
      crash.
      
      This is fixed by resetting lock type in case lock was aborted by
      another thread.
      
      I failed to create reasonable test case for this bug.
      
      
      sql/lock.cc:
        If thr_multi_lock was aborted by another thread, it unlocks tables
        that were locked before one that was aborted. Lock type for tables
        that were after a table that was aborted preserved. Thus we need
        to reset lock data in case thr_multi_lock was aborted.
      93b10124
  3. 31 May, 2007 2 commits
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-bug23068 · a471267a
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      
      sql/mysqld.cc:
        Auto merged
      a471267a
    • unknown's avatar
      Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables · 489a3fe4
      unknown authored
      Setting a key_cache_block_size which is not a power of 2
      could corrupt MyISAM tables.
      
      A couple of computations in the key cache code use bit
      operations which do only work if key_cache_block_size
      is a power of 2.
      
      Replaced bit operations by arithmetic operations
      to make key cache able to handle block sizes that are
      not a power of 2.
      
      
      include/keycache.h:
        Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
        Removed element 'key_cache_shift' from KEY_CACHE after
        the changes in mf_keycache.c made it unused.
      mysql-test/r/key_cache.result:
        Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
        Added test result
      mysql-test/t/key_cache.test:
        Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
        Added test
      mysys/mf_keycache.c:
        Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
        Replaced bit operations by arithmetic operations
        to make key cache able to handle block sizes that are
        not a power of 2.
      489a3fe4
  4. 24 May, 2007 3 commits
  5. 23 May, 2007 5 commits
  6. 22 May, 2007 6 commits
  7. 21 May, 2007 6 commits
  8. 19 May, 2007 2 commits
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/bug28401/my50-bug28401 · f40047df
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      f40047df
    • unknown's avatar
      Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE · f52f931f
      unknown authored
       - The SQL commands used by mysql_upgrade are written to be run
          with sql_mode set to '' - thus the scripts should change sql_mode
          for the session to make sure the SQL is legal.
      
      
      mysql-test/r/mysql_upgrade.result:
        Update test result
      mysql-test/t/mysql_upgrade.test:
        The SQL commands used by mysql_upgrade are written to be run
        with sql_mode set to '' - thus the scripts should change sql_mode
        for the session to make sure the SQL is legal.
      scripts/mysql_system_tables_fix.sql:
        Set sql_mode to '' before running the SQL commands
        to fix system tables - backport from 5.1
      f52f931f
  9. 18 May, 2007 13 commits