• Michael Widenius's avatar
    Fix that one can run mysql_upgrade with long table names · 7c8d39d1
    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.
    7c8d39d1
sql_base.cc 294 KB