• unknown's avatar
    InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE · dec90f5b
    unknown authored
    if foreign_key_checks=0. (Bug #9802)
    
    
    innobase/dict/dict0dict.c:
      dict_foreign_add_to_cache(): Add flag check_types.
      If the flag is FALSE, ignore character set mismatch.
    innobase/dict/dict0load.c:
      dict_load_foreign(), dict_load_foreigns(): Add flag check_types.
      If the flag is FALSE, differences in character sets will be ignored.
    innobase/include/dict0dict.h:
      dict_foreign_add_to_cache(): Add flag check_types.
      If the flag is FALSE, differences in character sets will be ignored.
    innobase/include/dict0load.h:
      dict_load_foreigns(): Add flag check_types.
      If the flag is FALSE, differences in character sets will be ignored.
    innobase/row/row0mysql.c:
      row_table_add_foreign_constraints(), row_rename_table_for_mysql():
      Pass trx->check_foreigns to dict_load_foreigns()
    sql/ha_innodb.cc:
      ha_innobase::rename_table(): Clear trx->check_foreign if necessary.
    dec90f5b
ha_innodb.cc 161 KB