1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-31 22:22:30 +03:00

Fix max_key_length and max_unique_length to take into account varchar and null extra lengths

This fixes a bug found by bdb.test
Fixes a portability issue with bdb tables


mysql-test/include/varchar.inc:
  Fix test to be reproducable
  (Either key v or v_2 could be used here)
mysql-test/r/bdb.result:
  Fix test to be reproducable
  (Either key v or v_2 could be used here)
mysql-test/r/myisam.result:
  Fix test to be reproducable
  (Either key v or v_2 could be used here)
sql/table.cc:
  Fix max_key_length and max_unique_length to take into account varchar and null extra lengths
  This fixes a bug found by bdb.test
This commit is contained in:
unknown
2004-12-31 11:56:50 +02:00
parent c4c2c7bceb
commit 7ea744f723
4 changed files with 9 additions and 7 deletions

View File

@@ -262,11 +262,6 @@ int openfrm(THD *thd, const char *name, const char *alias, uint db_stat,
}
key_part->store_length=key_part->length;
}
set_if_bigger(outparam->max_key_length,keyinfo->key_length+
keyinfo->key_parts);
outparam->total_key_length+= keyinfo->key_length;
if (keyinfo->flags & HA_NOSAME)
set_if_bigger(outparam->max_unique_length,keyinfo->key_length);
}
keynames=(char*) key_part;
strpos+= (strmov(keynames, (char *) strpos) - keynames)+1;
@@ -718,6 +713,12 @@ int openfrm(THD *thd, const char *name, const char *alias, uint db_stat,
}
}
keyinfo->usable_key_parts=usable_parts; // Filesort
set_if_bigger(outparam->max_key_length,keyinfo->key_length+
keyinfo->key_parts);
outparam->total_key_length+= keyinfo->key_length;
if (keyinfo->flags & HA_NOSAME)
set_if_bigger(outparam->max_unique_length,keyinfo->key_length);
}
if (primary_key < MAX_KEY &&
(outparam->keys_in_use.is_set(primary_key)))