diff options
Diffstat (limited to 'mysql-test/t/alter_table.test')
-rw-r--r-- | mysql-test/t/alter_table.test | 75 |
1 files changed, 62 insertions, 13 deletions
diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test index c013b2251a9..32654bb0bc4 100644 --- a/mysql-test/t/alter_table.test +++ b/mysql-test/t/alter_table.test @@ -3,6 +3,7 @@ # --disable_warnings drop table if exists t1,t2; +drop database if exists mysqltest; --enable_warnings create table t1 ( @@ -79,6 +80,53 @@ OPTIMIZE TABLE t1; DROP TABLE t1; # +# Drop and add an auto_increment column +# + +create table t1 (i int unsigned not null auto_increment primary key); +insert into t1 values (null),(null),(null),(null); +alter table t1 drop i,add i int unsigned not null auto_increment, drop primary key, add primary key (i); +select * from t1; +drop table t1; + +# +# Bug #2628: 'alter table t1 rename mysqltest.t1' silently drops mysqltest.t1 +# if it exists +# +create table t1 (name char(15)); +insert into t1 (name) values ("current"); +create database mysqltest; +create table mysqltest.t1 (name char(15)); +insert into mysqltest.t1 (name) values ("mysqltest"); +select * from t1; +select * from mysqltest.t1; +--error 1050 +alter table t1 rename mysqltest.t1; +select * from t1; +select * from mysqltest.t1; +drop table t1; +drop database mysqltest; + +# +# Rights for renaming test (Bug #3270) +# +connect (root,localhost,root,,test,$MASTER_MYPORT,master.sock); +connection root; +--disable_warnings +create database mysqltest; +--enable_warnings +create table mysqltest.t1 (a int,b int,c int); +grant all on mysqltest.t1 to mysqltest_1@localhost; +connect (user1,localhost,mysqltest_1,,mysqltest,$MASTER_MYPORT,master.sock); +connection user1; +-- error 1142 +alter table t1 rename t2; +connection root; +revoke all privileges on mysqltest.t1 from mysqltest_1@localhost; +delete from mysql.user where user='mysqltest_1'; +drop database mysqltest; + +# # ALTER TABLE ... ENABLE/DISABLE KEYS create table t1 (n1 int not null, n2 int, n3 int, n4 float, @@ -101,16 +149,6 @@ show keys from t1; drop table t1; # -# Drop and add an auto_increment column -# - -create table t1 (i int unsigned not null auto_increment primary key); -insert into t1 values (null),(null),(null),(null); -alter table t1 drop i,add i int unsigned not null auto_increment, drop primary key, add primary key (i); -select * from t1; -drop table t1; - -# # Alter table and rename # @@ -155,7 +193,7 @@ insert into t1 values ('ΤΕΣΤ'); select a,hex(a) from t1; alter table t1 change a a char(10) character set cp1251; select a,hex(a) from t1; -alter table t1 change a a char(10) binary; +alter table t1 change a a binary(10); select a,hex(a) from t1; alter table t1 change a a char(10) character set cp1251; select a,hex(a) from t1; @@ -176,7 +214,7 @@ select a,hex(a) from t1; show create table t1; alter table t1 DEFAULT CHARACTER SET latin1; show create table t1; -alter table t1 CHARACTER SET latin1; +alter table t1 CONVERT TO CHARACTER SET latin1; show create table t1; alter table t1 DEFAULT CHARACTER SET cp1251; show create table t1; @@ -184,6 +222,17 @@ show create table t1; drop table t1; # +# Bug#2821 +# Test that table CHARACTER SET does not affect blobs +# +create table t1 (myblob longblob,mytext longtext) +default charset latin1 collate latin1_general_cs; +show create table t1; +alter table t1 character set latin2; +show create table t1; +drop table t1; + +# # Test ALTER TABLE ENABLE/DISABLE keys when things are locked # @@ -246,7 +295,7 @@ SHOW INDEX FROM t1; DROP TABLE t1; # -# Bug 2361 +# Bug 2361 (Don't drop UNIQUE with DROP PRIMARY KEY) # CREATE TABLE t1 (a int PRIMARY KEY, b INT UNIQUE); |