An error occurred fetching the project authors.
  1. 03 Sep, 2010 1 commit
    • Michael Widenius's avatar
      Fix that one can run mysql_upgrade with long table names · a4fff491
      Michael Widenius authored
      Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      Nicer output from mysql_upgrade and mysql_check
      Updated all arrays that used NAME_LEN to use SAFE_NAME_LEN to ensure that we don't break things accidently as names can now have a #mysql50# prefix.
      
      client/mysql_upgrade.c:
        If we are using verbose, also run mysqlcheck in verbose mode.
      client/mysqlcheck.c:
        Add more information if running in verbose mode
        Print 'Needs upgrade' instead of complex error if table needs to be upgraded
        Don't write connect information if verbose is not 2 or above
      mysql-test/r/drop.result:
        Updated test and results as we now support full table names
      mysql-test/r/grant.result:
        Now you get a correct error message if using #mysql with paths
      mysql-test/r/show_check.result:
        Update results as table names can temporarly be bigger than NAME_LEN (during upgrade)
      mysql-test/r/upgrade.result:
        Test upgrade for long table names.
      mysql-test/suite/funcs_1/r/is_tables_is.result:
        Updated old test result (had note been updated in a while)
      mysql-test/t/drop.test:
        Updated test and results as we now support full table names
      mysql-test/t/grant.test:
        Now you get a correct error message if using #mysql with paths
      mysql-test/t/upgrade.test:
        Test upgrade for long table names.
      sql/ha_partition.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/item.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/log_event.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/mysql_priv.h:
        Added SAFE_NAME_LEN
      sql/rpl_filter.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp_head.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_acl.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_base.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_connect.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_parse.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_prepare.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_select.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_show.cc:
        NAME_LEN -> SAFE_NAME_LEN
        Enlarge table names for SHOW TABLES to also include optional #mysql50#
      sql/sql_table.cc:
        Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      sql/sql_trigger.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_udf.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_view.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/table.cc:
        Fixed check_table_name() to not count #mysql50# as part of name
        If #mysql50# is part of the name, don't allow path characters in name.
      a4fff491
  2. 11 Nov, 2009 1 commit
    • Anurag Shekhar's avatar
      Bug #47012 archive tables are not upgradeable, and server crashes · c8737515
      Anurag Shekhar authored
             on any access
      
      Archive engine for 5.1 (and latter) version uses a modified 
      version of zlib (azlib). These two version are incompatible
      so a proper upgrade is needed before tables created in 5.0 
      can be used reliable.
      
      This upgrade can be performed using repair. But due to lack 
      of test its risky to allow upgrade for now. This patch addresses
      only the crashing issue. Any attempt to repair will be blocked.
      
      Eventually repair can be allowed to run through (which will also
      cause an upgrade from older version to newer) but only after a 
      thorough testing.
      
      mysql-test/r/archive.result:
        Updated result file for test case for bug#47012
      mysql-test/std_data/bug47012.ARM:
        part of archive table (t1) created in mysql 5.0
      mysql-test/std_data/bug47012.ARZ:
        part of archive table (t1) created in mysql 5.0
      mysql-test/std_data/bug47012.frm:
        part of archive table (t1) created in mysql 5.0
      mysql-test/t/archive.test:
        Added test case for bug#47012.
      storage/archive/azio.c:
        Fixed a minor issues (minor version overwriting version in 
        stream structure)
        Removed assertion when an older version is found. Instead
        setting the correct version (2) in s->version
        If an unknown version is found marked it as corrupt.
      storage/archive/ha_archive.cc:
        Detecting the archive version in getShare and marking
        it as need to upgrade.
        Blocking open if the archive needs an upgrade. This
        can be allowed in case of open for repair to upgrade
        the archive but needs to tested.
      c8737515
  3. 30 Apr, 2009 1 commit
    • Narayanan V's avatar
      BUG#37631 - Incorrect key file for table after upgrading from 5.0 to 5.1 · db83fda9
      Narayanan V authored
      This patch adds corrections to the original patch
      submitted 2009-04-08 (http://lists.mysql.com/commits/71607):
      
      - fixed that the original patch didn't work because of an
        incorrect condition;
      - added a test case.
      
      mysql-test/r/upgrade.result:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        Result file for test case
      mysql-test/std_data/bug37631.MYD:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        table created in mysql 4.0
      mysql-test/std_data/bug37631.MYI:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        table created in mysql 4.0
      mysql-test/std_data/bug37631.frm:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        table created in mysql 4.0
      mysql-test/t/upgrade.test:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        Adds test for checking that upgrade works
        on a table which is created by a mysql
        server version <= 4.0.
      storage/myisam/ha_myisam.cc:
        Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
        
        Fix the conformance checker to relax checking
        for the correct version of the tables (for tables
        created by mysql server version <= 4.0)
      db83fda9
  4. 12 May, 2008 1 commit
    • unknown's avatar
      Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables · e7e49eb6
      unknown authored
      The REPAIR TABLE ... USE_FRM query silently corrupts data of tables
      with old .FRM file version.
      The mysql_upgrade client program or the REPAIR TABLE query (without
      the USE_FRM clause) can't prevent this trouble, because in the
      common case they don't upgrade .FRM file to compatible structure.
      
      1. Evaluation of the REPAIR TABLE ... USE_FRM query has been
         modified to reject such tables with the message:
         "Failed repairing incompatible .FRM file".
      
      2. REPAIR TABLE query (without USE_FRM clause) evaluation has been
         modified to upgrade .FRM files to current version.
      
      3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified
         to return error status when .FRM file has incompatible version.
      
      4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE
         FOR UPGRADE and REPAIR TABLE queries, so their behaviors have
         been changed too to upgrade .FRM files with incompatible
         version numbers.
      
      
      mysql-test/std_data/bug36055.MYD:
        Added test data for bug #36055.
      mysql-test/std_data/bug36055.MYI:
        Added test data for bug #36055.
      mysql-test/std_data/bug36055.frm:
        Added test data for bug #36055.
      mysql-test/r/repair.result:
        Added test case for bug# 36055.
      mysql-test/t/repair.test:
        Added test case for bug# 36055.
      sql/handler.cc:
        Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
        
        The handler::ha_check_for_upgrade method has been modified to
        return error if .FRM file has incompatible version number.
      sql/sql_table.cc:
        Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
        
        The prepare_for_repair function has been modified to reject
        REPAIR TABLE ... USE_FRM queries on incompatible .FRM files
        with the message: "Failed repairing incompatible .FRM file".
      e7e49eb6
  5. 07 Dec, 2004 1 commit
    • unknown's avatar
      Update results for new varchar handling · 9ca50fe1
      unknown authored
      Fixed compiler warnings
      String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      
      
      myisam/myisampack.c:
        Indentation cleanup
      mysql-test/r/analyse.result:
        Update results for new varchar handling
      mysql-test/r/case.result:
        Update results for new varchar handling
      mysql-test/r/cast.result:
        Update results for new varchar handling
      mysql-test/r/create.result:
        Update results for new varchar handling
      mysql-test/r/ctype_mb.result:
        Update results for new varchar handling
      mysql-test/r/ctype_ucs.result:
        Update results for new varchar handling
      mysql-test/r/ctype_utf8.result:
        Update results for new varchar handling
      mysql-test/r/func_group.result:
        Update results for new varchar handling
      mysql-test/r/func_str.result:
        Update results for new varchar handling
      mysql-test/r/func_system.result:
        Update results for new varchar handling
      mysql-test/r/heap.result:
        Update results for new varchar handling
      mysql-test/r/heap_hash.result:
        Update results for new varchar handling
      mysql-test/r/information_schema.result:
        Update results for new varchar handling
      mysql-test/r/metadata.result:
        Update results for new varchar handling
      mysql-test/r/null.result:
        Update results for new varchar handling
      mysql-test/r/ps_2myisam.result:
        Update results for new varchar handling
      mysql-test/r/ps_3innodb.result:
        Update results for new varchar handling
      mysql-test/r/ps_4heap.result:
        Update results for new varchar handling
      mysql-test/r/ps_5merge.result:
        Update results for new varchar handling
      mysql-test/r/ps_6bdb.result:
        Update results for new varchar handling
      mysql-test/r/subselect.result:
        Update results for new varchar handling
      mysql-test/r/type_ranges.result:
        Update results for new varchar handling
      mysql-test/r/union.result:
        Update results for new varchar handling
      mysql-test/t/heap.test:
        Update results for new varchar handling
      mysql-test/t/type_ranges.test:
        Added extra test to test generated type for string functions
      sql/field.cc:
        Update results for new varchar handling
      sql/field.h:
        Update results for new varchar handling
        We have to use orig_table instead of table as 'table' may point to a new field in the created table
      sql/field_conv.cc:
        Update results for new varchar handling
      sql/ha_heap.cc:
        Indentation fixes
      sql/ha_innodb.cc:
        Update results for new varchar handling
      sql/item.cc:
        Update results for new varchar handling
        Remove compiler warnings
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item.h:
        Update results for new varchar handling
      sql/item_func.cc:
        Update results for new varchar handling
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item_func.h:
        ANALYZE now return VARCHAR columns
      sql/procedure.h:
        Update results for new varchar handling
      sql/sql_acl.cc:
        After merge fixes
      sql/sql_select.cc:
        Update results for new varchar handling
        String results in temporary tables are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/sql_show.cc:
        After merge fixes
      sql/sql_table.cc:
        After merge fixes
      strings/ctype-tis620.c:
        After merge fixes
      tests/client_test.c:
        Fixed results, as in MySQL 5.0 strings in CREATE ... SELECT are creates VARCHAR columns
      9ca50fe1