Loading mysql-test/r/ndb_index_ordered.result +9 −0 Original line number Diff line number Diff line Loading @@ -658,3 +658,12 @@ insert into t1 (a, c) values (1,'aaa'),(3,'bbb'); select count(*) from t1 where c<'bbb'; count(*) 1 create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT, CountryCode char(3) NOT NULL, DishTitle varchar(64) NOT NULL, calories smallint(5) unsigned DEFAULT NULL, PRIMARY KEY (DishID) ) ENGINE=ndbcluster; create index i using hash on nationaldish(countrycode,calories); ERROR HY000: Can't create table './test/#sql-3c51_2.frm' (errno: 138) drop table nationaldish; mysql-test/t/ndb_index_ordered.test +14 −0 Original line number Diff line number Diff line Loading @@ -356,3 +356,17 @@ insert into t1 (a, c) values (1,'aaa'),(3,'bbb'); select count(*) from t1 where c<'bbb'; # End of 4.1 tests # bug#24820 CREATE INDEX ....USING HASH on NDB table creates ordered index, not HASH index create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT, CountryCode char(3) NOT NULL, DishTitle varchar(64) NOT NULL, calories smallint(5) unsigned DEFAULT NULL, PRIMARY KEY (DishID) ) ENGINE=ndbcluster; --error ER_CANT_CREATE_TABLE create index i using hash on nationaldish(countrycode,calories); drop table nationaldish; sql/ha_ndbcluster.cc +10 −0 Original line number Diff line number Diff line Loading @@ -1107,6 +1107,16 @@ int ha_ndbcluster::build_index_list(Ndb *ndb, TABLE *tab, enum ILBP phase) error= create_unique_index(unique_index_name, key_info); break; case ORDERED_INDEX: if (key_info->algorithm == HA_KEY_ALG_HASH) { push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR, ER_UNSUPPORTED_EXTENSION, ER(ER_UNSUPPORTED_EXTENSION), "Ndb does not support non-unique " "hash based indexes"); error= HA_ERR_UNSUPPORTED; break; } error= create_ordered_index(index_name, key_info); break; default: Loading Loading
mysql-test/r/ndb_index_ordered.result +9 −0 Original line number Diff line number Diff line Loading @@ -658,3 +658,12 @@ insert into t1 (a, c) values (1,'aaa'),(3,'bbb'); select count(*) from t1 where c<'bbb'; count(*) 1 create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT, CountryCode char(3) NOT NULL, DishTitle varchar(64) NOT NULL, calories smallint(5) unsigned DEFAULT NULL, PRIMARY KEY (DishID) ) ENGINE=ndbcluster; create index i using hash on nationaldish(countrycode,calories); ERROR HY000: Can't create table './test/#sql-3c51_2.frm' (errno: 138) drop table nationaldish;
mysql-test/t/ndb_index_ordered.test +14 −0 Original line number Diff line number Diff line Loading @@ -356,3 +356,17 @@ insert into t1 (a, c) values (1,'aaa'),(3,'bbb'); select count(*) from t1 where c<'bbb'; # End of 4.1 tests # bug#24820 CREATE INDEX ....USING HASH on NDB table creates ordered index, not HASH index create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT, CountryCode char(3) NOT NULL, DishTitle varchar(64) NOT NULL, calories smallint(5) unsigned DEFAULT NULL, PRIMARY KEY (DishID) ) ENGINE=ndbcluster; --error ER_CANT_CREATE_TABLE create index i using hash on nationaldish(countrycode,calories); drop table nationaldish;
sql/ha_ndbcluster.cc +10 −0 Original line number Diff line number Diff line Loading @@ -1107,6 +1107,16 @@ int ha_ndbcluster::build_index_list(Ndb *ndb, TABLE *tab, enum ILBP phase) error= create_unique_index(unique_index_name, key_info); break; case ORDERED_INDEX: if (key_info->algorithm == HA_KEY_ALG_HASH) { push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR, ER_UNSUPPORTED_EXTENSION, ER(ER_UNSUPPORTED_EXTENSION), "Ndb does not support non-unique " "hash based indexes"); error= HA_ERR_UNSUPPORTED; break; } error= create_ordered_index(index_name, key_info); break; default: Loading