mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
b5f50e2de8
We cannot revert the ALTER, so anything happening after the point of no return should not be treated as an error. A very unfortunate condition that a user needs to be warned about - yes, but we cannot say "ALTER TABLE has failed" if the table was successfully altered.
99 lines
2.5 KiB
Text
99 lines
2.5 KiB
Text
--source include/have_s3.inc
|
|
--source include/have_sequence.inc
|
|
--source include/have_innodb.inc
|
|
|
|
#
|
|
# Create unique database for running the tests
|
|
#
|
|
--source create_database.inc
|
|
--disable_warnings
|
|
drop table if exists t1,t2,t3;
|
|
--enable_warnings
|
|
|
|
--echo #
|
|
--echo # Test ALTER TABLE to and from s3
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria;
|
|
insert into t1 select seq,seq+10 from seq_1_to_1000;
|
|
alter table t1 engine=s3;
|
|
show create table t1;
|
|
alter table t1 comment="hello";
|
|
show create table t1;
|
|
alter table t1 engine=aria;
|
|
show create table t1;
|
|
alter table t1 engine=s3;
|
|
alter table t1 engine=innodb;
|
|
show create table t1;
|
|
select count(*), sum(a), sum(b) from t1;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # Test ALTER TABLE to and from s3 with rename
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_10;
|
|
alter table t1 rename to t2, engine=s3;
|
|
select count(*), sum(a), sum(b) from t2;
|
|
show create table t2;
|
|
alter table t2 rename to t3, engine=aria;
|
|
show create table t3;
|
|
select count(*), sum(a), sum(b) from t3;
|
|
drop table t3;
|
|
|
|
--echo #
|
|
--echo # Test changing options for a s3 table
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_1000;
|
|
alter table t1 engine=s3;
|
|
alter table t1 engine=s3, compression_algorithm="zlib";
|
|
show create table t1;
|
|
select count(*), sum(a), sum(b) from t1;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # Test ALTER TABLE for S3
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_10;
|
|
alter table t1 add column c int, engine=s3;
|
|
alter table t1 add column d int;
|
|
show create table t1;
|
|
select count(*), sum(a), sum(b), sum(c), sum(d) from t1;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # Test ALTER TABLE with locked table for S3
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_10;
|
|
lock table t1 write;
|
|
alter table t1 add column c int, engine=s3;
|
|
unlock tables;
|
|
select count(*), sum(a), sum(b), sum(c) from t1;
|
|
--error ER_OPEN_AS_READONLY
|
|
lock table t1 write;
|
|
lock table t1 read;
|
|
select count(*), sum(a), sum(b), sum(c) from t1;
|
|
unlock tables;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # Test RENAME TABLE
|
|
--echo #
|
|
|
|
create table t1 (a int, b int) engine=aria select seq as a, seq+10 as b from seq_1_to_10;
|
|
alter table t1 engine=s3;
|
|
rename table t1 to t3;
|
|
alter table t3 rename t2;
|
|
select count(*), sum(a), sum(b) from t2;
|
|
--replace_result $database database
|
|
--error ER_NO_SUCH_TABLE
|
|
select count(*), sum(a), sum(b) from t1;
|
|
drop table t2;
|
|
|
|
#
|
|
# clean up
|
|
#
|
|
--source drop_database.inc
|