mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
support 'alter online table t1 page_checksum=0'
This commit is contained in:
@@ -393,7 +393,7 @@ INSERT INTO mdev6076a VALUES(2),(1);
|
||||
CREATE TABLE mdev6076b (b INT) ENGINE=InnoDB;
|
||||
INSERT INTO mdev6076b VALUES(2),(1);
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE mdev6076a ADD COLUMN a SERIAL FIRST, LOCK=NONE;
|
||||
ALTER TABLE mdev6076a ADD COLUMN a SERIAL FIRST, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
ALTER TABLE mdev6076a ADD COLUMN a SERIAL FIRST, ALGORITHM=INPLACE;
|
||||
ALTER TABLE mdev6076b ADD COLUMN a SERIAL FIRST, AUTO_INCREMENT=100,
|
||||
ALGORITHM=INPLACE;
|
||||
|
@@ -11,7 +11,7 @@ SET @@sql_mode = @old_sql_mode;
|
||||
# We cannot assign AUTO_INCREMENT values during online index creation.
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
LOCK=NONE;
|
||||
ALGORITHM=INPLACE, LOCK=NONE;
|
||||
|
||||
--error ER_WRONG_AUTO_KEY
|
||||
ALTER TABLE t1 ADD id INT AUTO_INCREMENT;
|
||||
@@ -42,7 +42,7 @@ SHOW CREATE TABLE t1;
|
||||
# We cannot assign AUTO_INCREMENT values during online index creation.
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
DROP COLUMN id, AUTO_INCREMENT = 42, LOCK=NONE;
|
||||
DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE;
|
||||
|
@@ -67,7 +67,7 @@ SELECT u1, COUNT(DISTINCT d1) FROM t1 GROUP BY u1;
|
||||
ALTER TABLE t1 ADD COLUMN d2 TIMESTAMP DEFAULT '2017-05-08 16:23:45',
|
||||
LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE t1 ADD COLUMN d3 TIMESTAMP DEFAULT d1, LOCK=NONE;
|
||||
ALTER TABLE t1 ADD COLUMN d3 TIMESTAMP DEFAULT d1, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE t1 ADD COLUMN d3 TIMESTAMP DEFAULT d1, ALGORITHM=INPLACE;
|
||||
ALTER TABLE t1 ADD COLUMN d3 TIMESTAMP DEFAULT d1;
|
||||
|
@@ -195,20 +195,20 @@ ALGORITHM=INPLACE, LOCK=SHARED;
|
||||
|
||||
SHOW CREATE TABLE tt;
|
||||
# Non-instant ADD COLUMN would require the table to be rebuilt.
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL FIRST, ALGORITHM=INSTANT;
|
||||
# This is still non-instant ADD COLUMN, because FTS_DOC_ID is hidden.
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tt ADD COLUMN c CHAR(1) NOT NULL, ALGORITHM=INSTANT;
|
||||
|
||||
CREATE TABLE tu (
|
||||
pk INT PRIMARY KEY, FTS_DOC_ID BIGINT UNSIGNED NOT NULL, t TEXT,
|
||||
FULLTEXT INDEX(t)
|
||||
) ENGINE=InnoDB;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL FIRST, ALGORITHM=INSTANT;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tu ADD COLUMN c CHAR(1) NOT NULL, ALGORITHM=INSTANT;
|
||||
DROP TABLE tu;
|
||||
|
||||
CREATE TABLE tv (
|
||||
@@ -216,10 +216,10 @@ CREATE TABLE tv (
|
||||
UNIQUE INDEX FTS_DOC_ID_INDEX(FTS_DOC_ID),
|
||||
FULLTEXT INDEX(t)
|
||||
) ENGINE=InnoDB;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL FIRST, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL, LOCK=NONE;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL FIRST, ALGORITHM=INSTANT;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
ALTER TABLE tv ADD COLUMN c CHAR(1) NOT NULL, ALGORITHM=INSTANT;
|
||||
DROP TABLE tv;
|
||||
|
||||
# DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR are reserved InnoDB system column names.
|
||||
|
@@ -921,7 +921,7 @@ create table t1(f1 int not null, f2 int not null,
|
||||
insert into t1 values(1,3), (2,2);
|
||||
alter table t1 drop primary key, lock=none;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
alter table t1 drop index f1, lock=none;
|
||||
alter table t1 drop index f1, algorithm=inplace, lock=none;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
|
@@ -11,8 +11,8 @@ show errors;
|
||||
drop table t1;
|
||||
create table t1(a int not null, b geometry not null, d int,spatial key c(b), key d(d)) engine=innodb;
|
||||
show create table t1;
|
||||
--error 1846
|
||||
ALTER ONLINE TABLE t1 ADD PRIMARY KEY(a),DROP INDEX d;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER ONLINE TABLE t1 ADD PRIMARY KEY(a),DROP INDEX d, ALGORITHM=INPLACE;
|
||||
show warnings;
|
||||
show errors;
|
||||
ALTER ONLINE TABLE t1 ADD PRIMARY KEY(a),DROP INDEX d, LOCK=SHARED;
|
||||
|
@@ -609,7 +609,7 @@ ALGORITHM=INPLACE;
|
||||
# This would create a hidden FTS_DOC_ID column, which cannot be done online.
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
|
||||
LOCK=NONE;
|
||||
ALGORITHM=INPLACE, LOCK=NONE;
|
||||
|
||||
# This should not show duplicates.
|
||||
SELECT sc.pos FROM information_schema.innodb_sys_columns sc
|
||||
|
Reference in New Issue
Block a user