mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
173 lines
4.2 KiB
Text
173 lines
4.2 KiB
Text
-- source include/have_ndb.inc
|
|
-- source include/have_multi_ndb.inc
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
drop database if exists mysqltest;
|
|
--enable_warnings
|
|
|
|
#
|
|
# Basic test to show that the ALTER TABLE
|
|
# is working
|
|
#
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (9410,9412);
|
|
|
|
ALTER TABLE t1 ADD COLUMN c int not null;
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# Verfify changing table names between databases
|
|
#
|
|
CREATE DATABASE mysqltest;
|
|
USE mysqltest;
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
RENAME TABLE t1 TO test.t1;
|
|
SHOW TABLES;
|
|
DROP DATABASE mysqltest;
|
|
USE test;
|
|
SHOW TABLES;
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# More advanced test
|
|
#
|
|
create table t1 (
|
|
col1 int not null auto_increment primary key,
|
|
col2 varchar(30) not null,
|
|
col3 varchar (20) not null,
|
|
col4 varchar(4) not null,
|
|
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
|
|
col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
|
|
show table status;
|
|
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
insert into t1 values
|
|
(0,4,3,5,"PENDING",1,7),(NULL,4,3,5,"PENDING",1,7),(31,4,3,5,"PENDING",1,7), (7,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7), (100,4,3,5,"PENDING",1,7), (99,4,3,5,"PENDING",1,7), (8,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7);
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
alter table t1
|
|
add column col4_5 varchar(20) not null after col4,
|
|
add column col7 varchar(30) not null after col5,
|
|
add column col8 datetime not null, drop column to_be_deleted,
|
|
change column col2 fourth varchar(30) not null after col3,
|
|
modify column col6 int not null first;
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
delete from t1;
|
|
insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
SET SQL_MODE='';
|
|
insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
select * from t1 order by col1;
|
|
alter table t1 drop column col4_5;
|
|
insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
select * from t1 order by col1;
|
|
drop table t1;
|
|
|
|
|
|
#
|
|
# Check that invalidating dictionary cache works
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (9410,9412);
|
|
|
|
connect (con1,localhost,,,test);
|
|
connect (con2,localhost,,,test);
|
|
|
|
connection con1;
|
|
ALTER TABLE t1 ADD COLUMN c int not null;
|
|
select * from t1 order by a;
|
|
|
|
connection con2;
|
|
select * from t1 order by a;
|
|
alter table t1 drop c;
|
|
|
|
connection con1;
|
|
select * from t1 order by a;
|
|
drop table t1;
|
|
|
|
connection con2;
|
|
--error 1146
|
|
select * from t1 order by a;
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL PRIMARY KEY,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (0,1),(17,18);
|
|
select * from t1 order by a;
|
|
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
alter table t1 modify column a int not null auto_increment;
|
|
SET SQL_MODE='';
|
|
select * from t1 order by a;
|
|
INSERT INTO t1 VALUES (0,19),(20,21);
|
|
select * from t1 order by a;
|
|
drop table t1;
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL PRIMARY KEY,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (0,1),(17,18);
|
|
select * from t1 order by a;
|
|
alter table t1 add c int not null unique auto_increment;
|
|
select c from t1 order by c;
|
|
INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
|
|
select c from t1 order by c;
|
|
drop table t1;
|
|
|
|
create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
|
|
engine=ndb;
|
|
insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
|
|
create index c on t1(c);
|
|
connection server2;
|
|
select * from t1 where b = 'two';
|
|
connection server1;
|
|
alter table t1 drop index c;
|
|
connection server2;
|
|
--error 1146
|
|
select * from t1 where b = 'two';
|
|
select * from t1 where b = 'two';
|
|
connection server1;
|
|
drop table t1;
|
|
|
|
#--disable_warnings
|
|
#DROP TABLE IF EXISTS t2;
|
|
#--enable_warnings
|
|
|
|
#create table t2 (a int NOT NULL PRIMARY KEY) engine=myisam;
|
|
#let $1=12001;
|
|
#disable_query_log;
|
|
#while ($1)
|
|
#{
|
|
# eval insert into t2 values($1);
|
|
# dec $1;
|
|
#}
|
|
#enable_query_log;
|
|
#alter table t2 engine=ndbcluster;
|
|
#alter table t2 add c int;
|
|
#--error 1297
|
|
#delete from t2;
|
|
#to make sure we do a full table scan
|
|
#select count(*) from t2 where a+0 > 0;
|
|
#truncate table t2;
|
|
#select count(*) from t2;
|
|
#drop table t2;
|