Loading mysql-test/r/ndb_dd_alter.result +10 −4 Original line number Diff line number Diff line Loading @@ -282,7 +282,13 @@ a1 18 19 20 SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts SELECT * FROM test.t1 ORDER BY a1; a1 a2 a3 1 2.2345 20000001 Loading Loading @@ -369,7 +375,7 @@ t1 CREATE TABLE `t1` ( `a13` text, `a14` blob, PRIMARY KEY (`a1`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3); SHOW CREATE TABLE test.t1; Table Create Table Loading @@ -391,7 +397,7 @@ t1 CREATE TABLE `t1` ( PRIMARY KEY (`a1`), KEY `a2_i` (`a2`), KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 DROP INDEX a2_i; SHOW CREATE TABLE test.t1; Table Create Table Loading @@ -412,7 +418,7 @@ t1 CREATE TABLE `t1` ( `a14` blob, PRIMARY KEY (`a1`), KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 DROP a14; ALTER TABLE test.t1 DROP a13; ALTER TABLE test.t1 DROP a12; Loading @@ -432,7 +438,7 @@ t1 CREATE TABLE `t1` ( `a4` bit(1) DEFAULT NULL, `a5` tinyint(4) DEFAULT NULL, KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 DROP TABLE test.t1; ALTER TABLESPACE ts DROP DATAFILE './table_space/datafile.dat' Loading mysql-test/t/ndb_dd_alter.test +4 −0 Original line number Diff line number Diff line Loading @@ -156,8 +156,12 @@ enable_query_log; SELECT * FROM test.t1 ORDER BY a1; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; let $1=20; disable_query_log; while ($1) Loading sql/ha_ndbcluster.cc +8 −2 Original line number Diff line number Diff line Loading @@ -9949,7 +9949,7 @@ int ha_ndbcluster::generate_scan_filter_from_key(NdbScanOperation *op, /* get table space info for SHOW CREATE TABLE */ char* ha_ndbcluster::get_tablespace_name(THD *thd) char* ha_ndbcluster::get_tablespace_name(THD *thd, char* name) { Ndb *ndb= check_ndb_in_thd(thd); NDBDICT *ndbdict= ndb->getDictionary(); Loading @@ -9967,6 +9967,12 @@ char* ha_ndbcluster::get_tablespace_name(THD *thd) ndberr= ndbdict->getNdbError(); if(ndberr.classification != NdbError::NoError) goto err; if (name) { strxnmov(name, FN_LEN, ts.getName(), NullS); return name; } else return (my_strdup(ts.getName(), MYF(0))); } err: Loading sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -824,7 +824,7 @@ static void set_tabname(const char *pathname, char *tabname); uint set_up_partition_info(partition_info *part_info, TABLE *table, void *tab); char* get_tablespace_name(THD *thd); char* get_tablespace_name(THD *thd, char *name); int set_range_data(void *tab, partition_info* part_info); int set_list_data(void *tab, partition_info* part_info); int complemented_read(const byte *old_data, byte *new_data, Loading sql/handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -1410,7 +1410,7 @@ class handler :public Sql_alloc { return FALSE; } virtual char* get_foreign_key_create_info() { return(NULL);} /* gets foreign key create string from InnoDB */ virtual char* get_tablespace_name(THD *thd) virtual char* get_tablespace_name(THD *thd, char *name) { return(NULL);} /* gets tablespace name from handler */ /* used in ALTER TABLE; 1 if changing storage engine is allowed */ virtual bool can_switch_engines() { return 1; } Loading Loading
mysql-test/r/ndb_dd_alter.result +10 −4 Original line number Diff line number Diff line Loading @@ -282,7 +282,13 @@ a1 18 19 20 SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts SELECT * FROM test.t1 ORDER BY a1; a1 a2 a3 1 2.2345 20000001 Loading Loading @@ -369,7 +375,7 @@ t1 CREATE TABLE `t1` ( `a13` text, `a14` blob, PRIMARY KEY (`a1`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3); SHOW CREATE TABLE test.t1; Table Create Table Loading @@ -391,7 +397,7 @@ t1 CREATE TABLE `t1` ( PRIMARY KEY (`a1`), KEY `a2_i` (`a2`), KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 DROP INDEX a2_i; SHOW CREATE TABLE test.t1; Table Create Table Loading @@ -412,7 +418,7 @@ t1 CREATE TABLE `t1` ( `a14` blob, PRIMARY KEY (`a1`), KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 ALTER TABLE test.t1 DROP a14; ALTER TABLE test.t1 DROP a13; ALTER TABLE test.t1 DROP a12; Loading @@ -432,7 +438,7 @@ t1 CREATE TABLE `t1` ( `a4` bit(1) DEFAULT NULL, `a5` tinyint(4) DEFAULT NULL, KEY `a3_i` (`a3`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 DROP TABLE test.t1; ALTER TABLESPACE ts DROP DATAFILE './table_space/datafile.dat' Loading
mysql-test/t/ndb_dd_alter.test +4 −0 Original line number Diff line number Diff line Loading @@ -156,8 +156,12 @@ enable_query_log; SELECT * FROM test.t1 ORDER BY a1; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE; SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0'; let $1=20; disable_query_log; while ($1) Loading
sql/ha_ndbcluster.cc +8 −2 Original line number Diff line number Diff line Loading @@ -9949,7 +9949,7 @@ int ha_ndbcluster::generate_scan_filter_from_key(NdbScanOperation *op, /* get table space info for SHOW CREATE TABLE */ char* ha_ndbcluster::get_tablespace_name(THD *thd) char* ha_ndbcluster::get_tablespace_name(THD *thd, char* name) { Ndb *ndb= check_ndb_in_thd(thd); NDBDICT *ndbdict= ndb->getDictionary(); Loading @@ -9967,6 +9967,12 @@ char* ha_ndbcluster::get_tablespace_name(THD *thd) ndberr= ndbdict->getNdbError(); if(ndberr.classification != NdbError::NoError) goto err; if (name) { strxnmov(name, FN_LEN, ts.getName(), NullS); return name; } else return (my_strdup(ts.getName(), MYF(0))); } err: Loading
sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -824,7 +824,7 @@ static void set_tabname(const char *pathname, char *tabname); uint set_up_partition_info(partition_info *part_info, TABLE *table, void *tab); char* get_tablespace_name(THD *thd); char* get_tablespace_name(THD *thd, char *name); int set_range_data(void *tab, partition_info* part_info); int set_list_data(void *tab, partition_info* part_info); int complemented_read(const byte *old_data, byte *new_data, Loading
sql/handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -1410,7 +1410,7 @@ class handler :public Sql_alloc { return FALSE; } virtual char* get_foreign_key_create_info() { return(NULL);} /* gets foreign key create string from InnoDB */ virtual char* get_tablespace_name(THD *thd) virtual char* get_tablespace_name(THD *thd, char *name) { return(NULL);} /* gets tablespace name from handler */ /* used in ALTER TABLE; 1 if changing storage engine is allowed */ virtual bool can_switch_engines() { return 1; } Loading