[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.147.103.106: ~ $
--echo #
--echo # This is a copy of innodb-alter.test except using remote tablespaces
--echo # and showing those files.
--echo #

--source include/have_innodb.inc

--disable_query_log
# These values can change during the test
LET $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
LET $regexp=/FTS_([0-9a-f_]+)([A-Z0-9_]+)\.ibd/FTS_AUX_\2.ibd/;

# Set up some variables
LET $MYSQL_DATA_DIR = `select @@datadir`;
LET $data_directory_clause = DATA DIRECTORY='$MYSQL_TMP_DIR/alt_dir';
--enable_query_log

SET default_storage_engine=InnoDB;
SET GLOBAL innodb_file_per_table=ON;

SET NAMES utf8;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE t1 (
 c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT,
 INDEX(c2))
ENGINE=InnoDB $data_directory_clause;

INSERT INTO t1 SET c1=1;

CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE NAME LIKE 'test/t%';
CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;

CREATE TABLE t1p LIKE t1;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE t1c (c1 INT PRIMARY KEY, c2 INT, c3 INT, INDEX(c2), INDEX(c3),
                  CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES t1(c2),
		  CONSTRAINT t1c3 FOREIGN KEY (c3) REFERENCES t1p(c2))
ENGINE=InnoDB $data_directory_clause;

CREATE TABLE sys_foreign SELECT i.*
FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i
WHERE FOR_NAME LIKE 'test/t%';

SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
INNER JOIN sys_foreign sf ON i.ID = sf.ID;

-- source suite/innodb/include/innodb_dict.inc

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1;
ALTER TABLE t1 ALTER c2 DROP DEFAULT;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

# These should be no-op.
ALTER TABLE t1 CHANGE c2 c2 INT AFTER c1;
ALTER TABLE t1 CHANGE c1 c1 INT FIRST;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1 CHANGE C2 c3 INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1 CHANGE c3 C INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1 CHANGE C Cöŀumň_TWO INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
INNER JOIN sys_foreign sf ON i.ID = sf.ID;

-- source suite/innodb/include/innodb_dict.inc

-- error ER_BAD_FIELD_ERROR
ALTER TABLE t1 CHANGE cöĿǖmň_two c3 INT;

ALTER TABLE t1 CHANGE cÖĿUMŇ_two c3 INT, RENAME TO t3;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

SELECT st.NAME, i.NAME
FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
ON i.TABLE_ID=st.TABLE_ID;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t3;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;

# The maximum column name length should be 64 characters.
--error ER_TOO_LONG_IDENT
ALTER TABLE t3 CHANGE c3
`12345678901234567890123456789012345678901234567890123456789012345` INT;
ALTER TABLE t3 CHANGE c3
`1234567890123456789012345678901234567890123456789012345678901234` INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t3;

# Test the length limit with non-ASCII utf-8 characters.
--error ER_TOO_LONG_IDENT
ALTER TABLE t3 CHANGE
`1234567890123456789012345678901234567890123456789012345678901234`
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿偀` INT;

--error ER_TOO_LONG_IDENT
ALTER TABLE t3 CHANGE
`1234567890123456789012345678901234567890123456789012345678901234`
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿ä` INT;

ALTER TABLE t3 CHANGE
`1234567890123456789012345678901234567890123456789012345678901234`
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾ä` INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

# check that the rename is case-insensitive (note the upper-case ä at end)
ALTER TABLE t3 CHANGE
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾Ä`
c3 INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

# test with 4-byte UTF-8 (should be disallowed)
--error ER_INVALID_CHARACTER_STRING
ALTER TABLE t3 CHANGE c3 𐌀𐌁𐌂𐌃𐌄𐌅𐌆𐌇𐌈𐌉𐌊𐌋𐌌𐌍𐌎𐌏𐌐𐌑𐌒𐌓𐌔𐌕𐌖𐌗𐌘𐌙𐌚𐌛𐌜 INT;

--error ER_INVALID_CHARACTER_STRING
ALTER TABLE t3 CHANGE c3 😲 INT;

ALTER TABLE t3 RENAME TO t2;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

SELECT st.NAME, i.NAME
FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
ON i.TABLE_ID=st.TABLE_ID;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t2;

RENAME TABLE t2 TO t1;

SELECT st.NAME, i.NAME
FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
ON i.TABLE_ID=st.TABLE_ID;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

--error ER_DROP_INDEX_FK
ALTER TABLE t1 DROP INDEX c2;

--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1 DROP INDEX c4;

--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1c DROP FOREIGN KEY c2;

--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2;

--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2, DROP INDEX c2;

--error ER_DROP_INDEX_FK
ALTER TABLE t1c DROP INDEX c2;

--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1c DROP FOREIGN KEY ẗ1C2;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;

SET foreign_key_checks=0;
DROP TABLE t1p;
SET foreign_key_checks=1;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE t1p (c1 INT PRIMARY KEY, c2 INT, INDEX(c2))
  ENGINE=InnoDB $data_directory_clause;

--error ER_DROP_INDEX_FK
ALTER TABLE t1c DROP INDEX C2, DROP INDEX C3;
--error ER_DROP_INDEX_FK
ALTER TABLE t1c DROP INDEX C3;

SET foreign_key_checks=0;
ALTER TABLE t1c DROP INDEX C3;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

SET foreign_key_checks=1;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;

-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1c DROP FOREIGN KEY t1C3;

--echo ### files in MYSQL_DATA_DIR/test
--list_files $MYSQL_DATA_DIR/test
--replace_regex $regexp
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;
-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1c DROP INDEX c2, DROP FOREIGN KEY t1C2;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1c;

-- source suite/innodb/include/innodb_dict.inc

ALTER TABLE t1 DROP INDEX c2, CHANGE c3 c2 INT;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

-- source suite/innodb/include/innodb_dict.inc

CREATE TABLE t1o LIKE t1;

# This will implicitly add a DOC_ID column.
# The LOCK=NONE should thus fail.
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
ALGORITHM=INPLACE, LOCK=NONE;

# Retry with LOCK=EXCLUSIVE.
ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
ALGORITHM=INPLACE, LOCK=SHARED;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

# The output should be empty, because index->id was reassigned.
-- source suite/innodb/include/innodb_dict.inc

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE tt;

# DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR are reserved InnoDB system column names.
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=INPLACE;
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o CHANGE c1 DB_TRX_ID INT;
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o CHANGE c1 db_roll_ptr INT;

# FTS_DOC_ID is the internal row identifier for full-text search.
# It should be of type BIGINT UNSIGNED NOT NULL.
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
ALGORITHM=COPY;

--error ER_INNODB_FT_WRONG_DOCID_COLUMN
ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
ALGORITHM=INPLACE;
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_Doc_ID INT,
ALGORITHM=INPLACE;
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
ALGORITHM=INPLACE;

CREATE TABLE t1n LIKE t1o;

ALTER TABLE t1n ADD FULLTEXT INDEX(ct);

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=INPLACE;
--error ER_WRONG_COLUMN_NAME
ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=COPY;
--error ER_BAD_FIELD_ERROR
ALTER TABLE t1n CHANGE FTS_DOC_ID c11 INT, ALGORITHM=INPLACE;
ALTER TABLE t1n CHANGE c1 FTS_DOC_ïD INT, ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

ALTER TABLE t1n CHANGE FTS_DOC_ÏD c1 INT, ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

ALTER TABLE t1n CHANGE c1 c2 INT, CHANGE c2 ct INT, CHANGE ct c1 TEXT,
ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1n;
ALTER TABLE t1n CHANGE c2 c1 INT, CHANGE ct c2 INT, CHANGE c1 ct TEXT,
ALGORITHM=COPY;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1n;

--error ER_KEY_COLUMN_DOES_NOT_EXITS
ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
--error ER_KEY_COLUMN_DOES_NOT_EXITS
ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=COPY;

ALTER TABLE t1n ADD INDEX(c4), CHANGE c2 c4 INT, ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1n;
ALTER TABLE t1n DROP INDEX c4;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--error ER_DUP_FIELDNAME
ALTER TABLE t1n CHANGE c4 c1 INT, ADD INDEX(c1), ALGORITHM=INPLACE;
ALTER TABLE t1n CHANGE c4 c11 INT, ADD INDEX(c11), ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1n;
DROP TABLE t1n;

ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
ALGORITHM=INPLACE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

# 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;

# This should not show duplicates.
SELECT sc.pos FROM information_schema.innodb_sys_columns sc
INNER JOIN information_schema.innodb_sys_tables st
ON sc.TABLE_ID=st.TABLE_ID
WHERE st.NAME='test/t1o' AND sc.NAME='FTS_DOC_ID';

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1o;

ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
DROP INDEX ct, LOCK=NONE;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE t1o;

DROP TABLE t1c, t1p, sys_tables, sys_indexes, sys_foreign;

# Check the internal schemata of tt, t1o.

CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE NAME='test/t1o';
CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
CREATE TABLE sys_foreign SELECT i.*
FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i WHERE FOR_NAME='test/t1o';

-- source suite/innodb/include/innodb_dict.inc

# Ensure that there exists no hidden FTS_DOC_ID_INDEX on foo_id.

ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(foo_id);

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

ALTER TABLE t1o CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
ADD FULLTEXT INDEX(ct);

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test

--error ER_INNODB_FT_WRONG_DOCID_INDEX
ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL;

DROP TABLE sys_indexes;
CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;

-- source suite/innodb/include/innodb_dict.inc

--echo #
--echo # Cleanup
--echo #

DROP TABLE tt, t1o, sys_tables, sys_indexes, sys_foreign;

--echo ### files in MYSQL_DATA_DIR/test
--replace_regex $regexp
--list_files $MYSQL_DATA_DIR/test
--echo ### files in MYSQL_TMP_DIR/alt_dir/test
--replace_regex $regexp
--list_files $MYSQL_TMP_DIR/alt_dir/test
--rmdir $MYSQL_TMP_DIR/alt_dir/test
--rmdir $MYSQL_TMP_DIR/alt_dir

-- disable_query_log
eval set global innodb_file_per_table=$innodb_file_per_table_orig;
call mtr.add_suppression("deleting orphaned .ibd file");
-- enable_query_log

Filemanager

Name Type Size Permission Actions
add_foreign_key.test File 1.35 KB 0644
alter_rename_existing.test File 3.02 KB 0644
analyze_table.test File 803 B 0644
autoinc_debug.test File 2.14 KB 0644
blob-update-debug.test File 525 B 0644
blob_redo-master.opt File 57 B 0644
blob_redo.test File 2.35 KB 0644
bulk_create_index_online.test File 1.15 KB 0644
checksum.test File 644 B 0644
create-index.test File 1.29 KB 0644
create_isl_with_direct-master.opt File 31 B 0644
create_isl_with_direct.test File 1010 B 0644
disabled.def File 404 B 0644
dropdb.test File 251 B 0644
end_range_check.test File 1.82 KB 0644
events-merge-tmp-path-master.opt File 149 B 0644
events-merge-tmp-path.test File 1.65 KB 0644
flush-hang.test File 1.51 KB 0644
foreign_key.test File 2.18 KB 0644
ibuf_not_empty-master.opt File 30 B 0644
ibuf_not_empty.test File 3.2 KB 0644
import.test File 763 B 0644
import_tablespace_schema_missmatch.test File 3.6 KB 0644
import_update_stats.test File 1.46 KB 0644
index_length.test File 1.31 KB 0644
index_tree_operation.test File 2.36 KB 0644
innodb-2byte-collation-master.opt File 48 B 0644
innodb-2byte-collation.test File 2.95 KB 0644
innodb-ac-non-locking-select.test File 3 KB 0644
innodb-alter-autoinc.test File 2.63 KB 0644
innodb-alter-debug.test File 2.69 KB 0644
innodb-alter-discard.test File 1.74 KB 0644
innodb-alter-nullable.test File 1.98 KB 0644
innodb-alter-tempfile.test File 2.46 KB 0644
innodb-alter.test File 15.98 KB 0644
innodb-analyze.test File 1.65 KB 0644
innodb-autoinc-18274.test File 661 B 0644
innodb-autoinc-44030-master.opt File 81 B 0644
innodb-autoinc-44030.test File 1.61 KB 0644
innodb-autoinc-56228-master.opt File 29 B 0644
innodb-autoinc-56228.test File 784 B 0644
innodb-autoinc-master.opt File 81 B 0644
innodb-autoinc-optimize.test File 482 B 0644
innodb-autoinc.test File 25.87 KB 0644
innodb-blob.test File 6.14 KB 0644
innodb-bug-14068765.test File 3.41 KB 0644
innodb-bug-14084530.test File 1.31 KB 0644
innodb-bug12552164.test File 1.43 KB 0644
innodb-bug14219515.test File 472 B 0644
innodb-change-buffer-recovery-master.opt File 62 B 0644
innodb-change-buffer-recovery.test File 2.27 KB 0644
innodb-consistent-master.opt File 29 B 0644
innodb-consistent.test File 1.24 KB 0644
innodb-double-write.test File 11.92 KB 0644
innodb-index-debug-master.opt File 30 B 0644
innodb-index-debug.test File 3.14 KB 0644
innodb-index-online-delete.test File 1.06 KB 0644
innodb-index-online-fk.test File 14.48 KB 0644
innodb-index-online-master.opt File 128 B 0644
innodb-index-online-norebuild.test File 1.8 KB 0644
innodb-index-online-purge.test File 2.07 KB 0644
innodb-index-online.test File 13.08 KB 0644
innodb-index.test File 16.93 KB 0644
innodb-index_ucs2.test File 124 B 0644
innodb-lock-inherit-read_commited.test File 2.58 KB 0644
innodb-lock.test File 4.27 KB 0644
innodb-log-file-size-1.test File 10.53 KB 0644
innodb-log-file-size.test File 7.33 KB 0644
innodb-master.opt File 136 B 0644
innodb-multiple-tablespaces.test File 18.88 KB 0644
innodb-read-view.test File 3.63 KB 0644
innodb-replace.test File 555 B 0644
innodb-semi-consistent-master.opt File 29 B 0644
innodb-semi-consistent.test File 1.83 KB 0644
innodb-status-output.test File 3.23 KB 0644
innodb-system-table-view.test File 6.46 KB 0644
innodb-table-online-master.opt File 128 B 0644
innodb-table-online.test File 11.35 KB 0644
innodb-tablespace.test File 16.16 KB 0644
innodb-timeout.test File 3.63 KB 0644
innodb-truncate.test File 2.03 KB 0644
innodb-ucs2.test File 11.41 KB 0644
innodb-update-insert.test File 860 B 0644
innodb-use-sys-malloc-master.opt File 56 B 0644
innodb-use-sys-malloc.test File 1.52 KB 0644
innodb-wl5522-1.test File 27.19 KB 0644
innodb-wl5522-debug.test File 35.31 KB 0644
innodb-wl5522.test File 19.19 KB 0644
innodb-wl5980-alter.test File 18.11 KB 0644
innodb-wl5980-debug.test File 2.58 KB 0644
innodb-wl5980-discard.test File 25.47 KB 0644
innodb-wl5980-linux.test File 7.54 KB 0644
innodb-wl5980-windows.test File 8.83 KB 0644
innodb-wl6445-1.test File 24.83 KB 0644
innodb-wl6445-2.test File 9.04 KB 0644
innodb-wl6445.test File 2.3 KB 0644
innodb.test File 79.03 KB 0644
innodb_autoinc_lock_mode_zero-master.opt File 29 B 0644
innodb_autoinc_lock_mode_zero.test File 1.1 KB 0644
innodb_autoinc_reset.test File 519 B 0644
innodb_blob_unrecoverable_crash.test File 1.56 KB 0644
innodb_buffer_pool_load-master.opt File 30 B 0644
innodb_buffer_pool_load.test File 3.94 KB 0644
innodb_bug-13628249.test File 3.95 KB 0644
innodb_bug11754376.test File 406 B 0644
innodb_bug11766634-master.opt File 16 B 0644
innodb_bug11766634.test File 1.82 KB 0644
innodb_bug11789106.test File 536 B 0644
innodb_bug11933790.test File 969 B 0644
innodb_bug12400341-master.opt File 75 B 0644
innodb_bug12400341.test File 2.57 KB 0644
innodb_bug12429573.test File 1.4 KB 0644
innodb_bug12661768.test File 1.99 KB 0644
innodb_bug13635833.test File 1.6 KB 0644
innodb_bug13867871.test File 5.7 KB 0644
innodb_bug14006907.test File 1.38 KB 0644
innodb_bug14007109.test File 1.19 KB 0644
innodb_bug14007649.test File 1.1 KB 0644
innodb_bug14147491-master.opt File 62 B 0644
innodb_bug14147491.test File 3.28 KB 0644
innodb_bug14169459.test File 1.96 KB 0644
innodb_bug14676111.test File 3.84 KB 0644
innodb_bug14704286.test File 2.03 KB 0644
innodb_bug21704.test File 1.66 KB 0644
innodb_bug30423.test File 6.51 KB 0644
innodb_bug30919-master.opt File 38 B 0644
innodb_bug30919.test File 2.27 KB 0644
innodb_bug34053.test File 1.41 KB 0644
innodb_bug34300.test File 852 B 0644
innodb_bug35220.test File 416 B 0644
innodb_bug38231.test File 1.64 KB 0644
innodb_bug39438-master.opt File 26 B 0644
innodb_bug39438.test File 2.19 KB 0644
innodb_bug40360.test File 340 B 0644
innodb_bug40565.test File 327 B 0644
innodb_bug41904.test File 328 B 0644
innodb_bug42101-nonzero-master.opt File 30 B 0644
innodb_bug42101-nonzero.test File 653 B 0644
innodb_bug42101.test File 577 B 0644
innodb_bug42419.test File 2.19 KB 0644
innodb_bug44032.test File 543 B 0644
innodb_bug44369.test File 530 B 0644
innodb_bug44571.test File 788 B 0644
innodb_bug45357.test File 326 B 0644
innodb_bug46000.test File 941 B 0644
innodb_bug46676.test File 602 B 0644
innodb_bug47167-master.opt File 16 B 0644
innodb_bug47167.test File 1.41 KB 0644
innodb_bug47621.test File 1.79 KB 0644
innodb_bug47622.test File 1.58 KB 0644
innodb_bug47777.test File 915 B 0644
innodb_bug48024.test File 863 B 0644
innodb_bug49164.test File 928 B 0644
innodb_bug51378.test File 2.53 KB 0644
innodb_bug51920.test File 988 B 0644
innodb_bug52199.test File 210 B 0644
innodb_bug52663.test File 1003 B 0644
innodb_bug53046.test File 1.27 KB 0644
innodb_bug53290.test File 909 B 0644
innodb_bug53592.test File 2.47 KB 0644
innodb_bug53674-master.opt File 65 B 0644
innodb_bug53674.test File 259 B 0644
innodb_bug53756-master.opt File 36 B 0644
innodb_bug53756.test File 4.62 KB 0644
innodb_bug54044.test File 606 B 0644
innodb_bug56143.test File 74.16 KB 0644
innodb_bug56716.test File 268 B 0644
innodb_bug56947.test File 472 B 0644
innodb_bug57252.test File 1.27 KB 0644
innodb_bug57255.test File 889 B 0644
innodb_bug57904.test File 908 B 0644
innodb_bug59307.test File 626 B 0644
innodb_bug59410.test File 805 B 0644
innodb_bug59641.test File 1.7 KB 0644
innodb_bug59733.test File 1.98 KB 0644
innodb_bug60049-master.opt File 25 B 0644
innodb_bug60049.test File 1.95 KB 0644
innodb_bug60196-master.opt File 27 B 0644
innodb_bug60196.test File 4.44 KB 0644
innodb_bug60229.test File 1.34 KB 0644
innodb_bug70867.test File 1.64 KB 0644
innodb_copy_col_in_partition.test File 665 B 0644
innodb_corrupt_bit.test File 4.21 KB 0644
innodb_ctype_ldml-master.opt File 80 B 0644
innodb_ctype_ldml.test File 15.32 KB 0644
innodb_deadlock_with_autoinc-master.opt File 29 B 0644
innodb_deadlock_with_autoinc.test File 1.22 KB 0644
innodb_file_format-master.opt File 16 B 0644
innodb_file_format.test File 1.32 KB 0644
innodb_file_limit_check-master.opt File 69 B 0644
innodb_file_limit_check.test File 1.07 KB 0644
innodb_force_recovery.test File 5.7 KB 0644
innodb_gis.test File 277 B 0644
innodb_i_s_innodb_locks.test File 4.54 KB 0644
innodb_i_s_innodb_trx.test File 2.32 KB 0644
innodb_information_schema_buffer.test File 2.39 KB 0644
innodb_io_pf.test File 398 B 0644
innodb_lock_wait_timeout_1-master.opt File 29 B 0644
innodb_lock_wait_timeout_1.test File 8.06 KB 0644
innodb_misc1-master.opt File 55 B 0644
innodb_misc1.test File 31.49 KB 0644
innodb_multi_update.test File 1.4 KB 0644
innodb_mysql-master.opt File 82 B 0644
innodb_mysql.test File 26.75 KB 0644
innodb_mysql_rbk-master.opt File 60 B 0644
innodb_mysql_rbk.test File 849 B 0644
innodb_notembedded.test File 1.13 KB 0644
innodb_page_size_func.test File 12.92 KB 0644
innodb_prefix_index_restart_server.test File 4.4 KB 0644
innodb_replace.test File 5.06 KB 0644
innodb_stats.test File 1.89 KB 0644
innodb_stats_auto_recalc.test File 1.76 KB 0644
innodb_stats_auto_recalc_ddl.test File 1.65 KB 0644
innodb_stats_auto_recalc_lots.test File 887 B 0644
innodb_stats_auto_recalc_on_nonexistent.test File 1.87 KB 0644
innodb_stats_create_on_corrupted.test File 1.27 KB 0644
innodb_stats_create_table.test File 1.43 KB 0644
innodb_stats_del_mark-master.opt File 40 B 0644
innodb_stats_del_mark.test File 3.6 KB 0644
innodb_stats_drop_locked.test File 1.41 KB 0644
innodb_stats_external_pages.test File 2.58 KB 0644
innodb_stats_fetch.test File 2.13 KB 0644
innodb_stats_fetch_corrupted.test File 1.6 KB 0644
innodb_stats_fetch_nonexistent.test File 1.14 KB 0644
innodb_stats_flag_global_off-master.opt File 28 B 0644
innodb_stats_flag_global_off.test File 324 B 0644
innodb_stats_flag_global_on-master.opt File 28 B 0644
innodb_stats_flag_global_on.test File 323 B 0644
innodb_stats_rename_table.test File 1.25 KB 0644
innodb_stats_rename_table_if_exists.test File 1.43 KB 0644
innodb_stats_sample_pages.test File 1.72 KB 0644
innodb_stats_table_flag_auto_recalc.test File 2.19 KB 0644
innodb_stats_table_flag_sample_pages.test File 2.73 KB 0644
innodb_sys_var_valgrind.test File 1.99 KB 0644
innodb_timeout_rollback-master.opt File 58 B 0644
innodb_timeout_rollback.test File 108 B 0644
innodb_trx_weight.test File 3.65 KB 0644
innodb_upd_stats_if_needed_not_inited.test File 1.04 KB 0644
innodb_ut_format_name.test File 298 B 0644
insert_debug.test File 476 B 0644
monitor.test File 13.96 KB 0644
monitor_debug.test File 1.07 KB 0644
portability_wl5980_linux.zip File 473.02 KB 0644
portability_wl5980_windows.zip File 514.24 KB 0644
sp_temp_table.test File 2.51 KB 0644
strict_checksum.test File 2.77 KB 0644
strict_mode.test File 3.22 KB 0644
timestamp.test File 787 B 0644
tmpdir.test File 1.9 KB 0644
undo_space_id.test File 889 B 0644
xa_recovery.test File 1.13 KB 0644