diff options
author | unknown <mskold/marty@mysql.com/linux.site> | 2006-10-24 12:24:32 +0200 |
---|---|---|
committer | unknown <mskold/marty@mysql.com/linux.site> | 2006-10-24 12:24:32 +0200 |
commit | 2d0d9c979d560a36b29c822aef8004d7d6988ce1 (patch) | |
tree | 601875bf1bd3f0f5144176e385703bfd40e76115 /sql | |
parent | 230607a06b47f802aecc9f3776ccae3de8b34afc (diff) | |
download | mariadb-git-2d0d9c979d560a36b29c822aef8004d7d6988ce1.tar.gz |
bug#21873 MySQLD Crash on ALTER...ADD..UNIQUE..USING HASH statement for NDB backed table: Use passed key_info to check for nullable fields
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_ndbcluster.cc | 5 | ||||
-rw-r--r-- | sql/ha_ndbcluster.h | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index edafb9c7014..0fae91190a4 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -1399,9 +1399,8 @@ NDB_INDEX_TYPE ha_ndbcluster::get_index_type_from_key(uint inx, ORDERED_INDEX); } -int ha_ndbcluster::check_index_fields_not_null(uint inx) +int ha_ndbcluster::check_index_fields_not_null(KEY* key_info) { - KEY* key_info= table->key_info + inx; KEY_PART_INFO* key_part= key_info->key_part; KEY_PART_INFO* end= key_part+key_info->key_parts; DBUG_ENTER("ha_ndbcluster::check_index_fields_not_null"); @@ -5016,7 +5015,7 @@ int ha_ndbcluster::create_index(const char *name, KEY *key_info, error= create_unique_index(unique_name, key_info); break; case UNIQUE_INDEX: - if (!(error= check_index_fields_not_null(idx_no))) + if (!(error= check_index_fields_not_null(key_info))) error= create_unique_index(unique_name, key_info); break; case ORDERED_INDEX: diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index cffc7dcdd47..f0903d3a233 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -808,7 +808,7 @@ private: NDB_INDEX_TYPE get_index_type_from_table(uint index_no) const; NDB_INDEX_TYPE get_index_type_from_key(uint index_no, KEY *key_info, bool primary) const; - int check_index_fields_not_null(uint index_no); + int check_index_fields_not_null(KEY *key_info); uint set_up_partition_info(partition_info *part_info, TABLE *table, |