From 34ef9dc8d04c146c0ff7c4725eb0517cddefccda Mon Sep 17 00:00:00 2001 From: PranavKTiwari Date: Mon, 13 Jul 2026 13:51:37 +0530 Subject: [PATCH 1/2] Added check. --- sql/sql_table.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_table.cc b/sql/sql_table.cc index e86ebba561288..12412aa8f81fe 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -9163,7 +9163,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table, LEX_CSTRING tmp_name; bzero((char*) &key_create_info, sizeof(key_create_info)); if (key_info->algorithm == HA_KEY_ALG_LONG_HASH) - key_info->algorithm= alter_ctx->fast_alter_partition ? + key_info->algorithm= (alter_ctx->fast_alter_partition || !(alter_info->flags & ALTER_CHANGE_COLUMN)) ? HA_KEY_ALG_HASH : HA_KEY_ALG_UNDEF; /* For fast alter partition we set HA_KEY_ALG_HASH above to make sure it From d49513104ed9b127d027a12c692fd2be78711369 Mon Sep 17 00:00:00 2001 From: PranavKTiwari Date: Tue, 14 Jul 2026 12:42:04 +0530 Subject: [PATCH 2/2] Added check. --- sql/sql_table.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 12412aa8f81fe..32e371b1ba292 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3067,11 +3067,10 @@ my_bool init_key_info(THD *thd, Alter_info *alter_info, if (is_hash_field_needed) { - if (key_cinfo->algorithm == HA_KEY_ALG_UNDEF) + if (key_cinfo->algorithm == HA_KEY_ALG_UNDEF || key_cinfo->algorithm == HA_KEY_ALG_HASH) key_cinfo->algorithm= HA_KEY_ALG_LONG_HASH; - if (key_cinfo->algorithm != HA_KEY_ALG_HASH && - key_cinfo->algorithm != HA_KEY_ALG_LONG_HASH) + if (key_cinfo->algorithm != HA_KEY_ALG_LONG_HASH) { my_error(ER_TOO_LONG_KEY, MYF(0), max_key_length); DBUG_RETURN(TRUE);