summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/blackhole.result8
-rw-r--r--mysql-test/r/merge.result8
-rw-r--r--mysql-test/t/blackhole.test12
-rw-r--r--mysql-test/t/merge.test10
-rw-r--r--sql/ha_blackhole.cc2
-rw-r--r--sql/ha_myisammrg.cc2
-rw-r--r--sql/handler.h1
-rw-r--r--sql/sql_table.cc4
8 files changed, 3 insertions, 44 deletions
diff --git a/mysql-test/r/blackhole.result b/mysql-test/r/blackhole.result
index a4c057f256c..140d7e73d48 100644
--- a/mysql-test/r/blackhole.result
+++ b/mysql-test/r/blackhole.result
@@ -123,11 +123,3 @@ master-bin.000001 # Query 1 # use `test`; create table t3 like t1
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t3
master-bin.000001 # Query 1 # use `test`; replace into t1 select * from t3
drop table t1,t2,t3;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (c char(20)) engine=MyISAM;
-insert into t1 values ("Monty"),("WAX"),("Walrus");
-alter table t1 engine=blackhole;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
-drop table t1;
diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result
index 568f83b7d6d..b1abe16a091 100644
--- a/mysql-test/r/merge.result
+++ b/mysql-test/r/merge.result
@@ -768,14 +768,6 @@ Table Op Msg_type Msg_text
test.t1 check status OK
test.t2 check status OK
drop table t1, t2, t3;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (c char(20)) engine=MyISAM;
-insert into t1 values ("Monty"),("WAX"),("Walrus");
-alter table t1 engine=MERGE;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
-drop table t1;
create table t1 (b bit(1));
create table t2 (b bit(1));
create table tm (b bit(1)) engine = merge union = (t1,t2);
diff --git a/mysql-test/t/blackhole.test b/mysql-test/t/blackhole.test
index 493f74ded3e..e40b84eb5cd 100644
--- a/mysql-test/t/blackhole.test
+++ b/mysql-test/t/blackhole.test
@@ -128,15 +128,3 @@ show binlog events;
drop table t1,t2,t3;
# End of 4.1 tests
-
-#
-# BUG#10952 - alter table ... lost data without errors and warnings
-#
-drop table if exists t1;
-create table t1 (c char(20)) engine=MyISAM;
-insert into t1 values ("Monty"),("WAX"),("Walrus");
---error 1031
-alter table t1 engine=blackhole;
-drop table t1;
-
-# End of 5.0 tests
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test
index 400279a826b..639129e1393 100644
--- a/mysql-test/t/merge.test
+++ b/mysql-test/t/merge.test
@@ -381,16 +381,6 @@ drop table t1, t2, t3;
# End of 4.1 tests
#
-# BUG#10952 - alter table ... lost data without errors and warnings
-#
-drop table if exists t1;
-create table t1 (c char(20)) engine=MyISAM;
-insert into t1 values ("Monty"),("WAX"),("Walrus");
---error 1031
-alter table t1 engine=MERGE;
-drop table t1;
-
-#
# BUG#19648 - Merge table does not work with bit types
#
create table t1 (b bit(1));
diff --git a/sql/ha_blackhole.cc b/sql/ha_blackhole.cc
index 7632ed59949..2505919af39 100644
--- a/sql/ha_blackhole.cc
+++ b/sql/ha_blackhole.cc
@@ -47,7 +47,7 @@ handlerton blackhole_hton= {
NULL, /* create_cursor_read_view */
NULL, /* set_cursor_read_view */
NULL, /* close_cursor_read_view */
- HTON_CAN_RECREATE | HTON_ALTER_CANNOT_CREATE
+ HTON_CAN_RECREATE
};
/*****************************************************************************
diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc
index d2fd1a9e28a..9780f163634 100644
--- a/sql/ha_myisammrg.cc
+++ b/sql/ha_myisammrg.cc
@@ -55,7 +55,7 @@ handlerton myisammrg_hton= {
NULL, /* create_cursor_read_view */
NULL, /* set_cursor_read_view */
NULL, /* close_cursor_read_view */
- HTON_CAN_RECREATE | HTON_ALTER_CANNOT_CREATE
+ HTON_CAN_RECREATE
};
diff --git a/sql/handler.h b/sql/handler.h
index aada647e071..d444ac055c4 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -410,7 +410,6 @@ struct show_table_alias_st {
#define HTON_ALTER_NOT_SUPPORTED (1 << 1) //Engine does not support alter
#define HTON_CAN_RECREATE (1 << 2) //Delete all is used fro truncate
#define HTON_HIDDEN (1 << 3) //Engine does not appear in lists
-#define HTON_ALTER_CANNOT_CREATE (1 << 4) //Cannot use alter to create
typedef struct st_thd_trans
{
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 91c71193df2..a4ac7392cf2 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -3240,9 +3240,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
DBUG_PRINT("info", ("old type: %d new type: %d", old_db_type, new_db_type));
if (ha_check_storage_engine_flag(old_db_type, HTON_ALTER_NOT_SUPPORTED) ||
- ha_check_storage_engine_flag(new_db_type, HTON_ALTER_NOT_SUPPORTED) ||
- (old_db_type != new_db_type &&
- ha_check_storage_engine_flag(new_db_type, HTON_ALTER_CANNOT_CREATE)))
+ ha_check_storage_engine_flag(new_db_type, HTON_ALTER_NOT_SUPPORTED))
{
DBUG_PRINT("info", ("doesn't support alter"));
my_error(ER_ILLEGAL_HA, MYF(0), table_name);