Current Path : /home/usr.opt/mysql57/mysql-test/suite/x/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/x/t/drop_index_crud.test |
########### ../t/drop_index_crud.test ###################### ## # ## This test runs aims index creation/drop using crud calls # ## Test covers # ## - indexes with virtual columns of the all supported datatypes # ## - creating and dropping indexes on multiple virtual columns # ## - creating and dropping indexes that share the same virtual column # ## - error scenarios when dropping the index # ## - error scenario with virtual column with not supported datatype # ######################################################################## # drop_collection_index ## Preamble --source include/not_valgrind.inc --source ../include/xplugin_preamble.inc call mtr.add_suppression("Error parsing message of type 12: args"); call mtr.add_suppression("Error handling message: args"); ## Test starts here --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -->macro Create_collection_index %INDEX_NAME% %TYPE% Mysqlx.Sql.StmtExecute { stmt: "create_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "%INDEX_NAME%" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "%TYPE%" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } namespace: "xplugin" } -->recv -->endmacro -->macro Drop_collection_index %INDEX_NAME% Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "%INDEX_NAME%" } } } namespace: "xplugin" } -->recv -->endmacro -->sql -- "Creating database for testcase" CREATE DATABASE xplugintest; USE xplugintest; -->endsql Mysqlx.Sql.StmtExecute { stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } namespace: "xplugin" } -->recvresult -->echo Create and drop indexes of different types on single fields -->callmacro Create_collection_index ix TINYINT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TINYINT UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TINYINT(2) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix SMALLINT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix SMALLINT UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix SMALLINT(4) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"12345","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix MEDIUMINT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix MEDIUMINT UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix MEDIUMINT(7) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"12345678","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix INTEGER -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix INTEGER UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix INTEGER(6) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"1234567","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BIGINT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BIGINT UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BIGINT(13) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"123456789012345","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BIGINT(22) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix REAL -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix REAL UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix FLOAT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix FLOAT UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DOUBLE -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DOUBLE UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DOUBLE(7,4) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"123.1234","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DECIMAL -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DECIMAL(10) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"123456.123","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DECIMAL(8,2) UNSIGNED -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"123456.123","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix NUMERIC -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix NUMERIC(10,2) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"12345.123456","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix NUMERIC(5) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"12345.123456","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DATE -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TIME -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TIME(2) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"12:13:44","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TIMESTAMP -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TIMESTAMP(6) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"2038-01-19 03:14:07.123456","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DATETIME -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix DATETIME(6) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix YEAR -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix VARCHAR(15) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"QUITE LOOOONG STRING","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix CHAR(25) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"LONG LONG STRING, LONGER THAN INDEX SIZE","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BIT -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix BLOB(50) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"BLOB BLOB BLOB BLOB BLOB VALUE LONG VALUE 0123456789 BLOB01234567890123456789","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->callmacro Create_collection_index ix TEXT(30) -->sql SHOW INDEX FROM xplugintest.table1; SHOW CREATE TABLE xplugintest.table1; INSERT INTO xplugintest.table1(doc) VALUES('{"col":"TEXT LONGER THAN INDEX SIZE WHICH EQUALS 30 1234567890","_id":1}'); SELECT * FROM xplugintest.table1; DELETE FROM xplugintest.table1; -->endsql -->callmacro Drop_collection_index ix -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->echo Create index on two fields Mysqlx.Sql.StmtExecute { stmt: "create_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "two_field_index" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_text" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "TEXT(10)" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_int" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "INT" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -- Drop two-fields index Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "two_field_index" } } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->echo Create two indexes using the same field Mysqlx.Sql.StmtExecute { stmt: "create_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "index1" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "INT" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_2" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "INT" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } namespace: "xplugin" } -->recv Mysqlx.Sql.StmtExecute { stmt: "create_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "index2" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_2" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "INT" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->echo Drop the first of the indexes, it should keep the shared column Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "index1" } } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->echo Drop the second of the indexes, the column should be gone Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "index2" } } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->echo Error scenarios when dropping the index -- drop index for non-existing schema Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "nonexisting" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "date_index" } } } namespace: "xplugin" } -->recv -- drop index for non-existing collection Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "nonexisting" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "date_index" } } } namespace: "xplugin" } -->recv -- drop index for non-existing index Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "nonexisting" } } } namespace: "xplugin" } -->recv -- ERROR scenario: create index of not supported type: Mysqlx.Sql.StmtExecute { stmt: "create_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "tblob_index" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } args { type: SCALAR scalar { type: V_STRING v_string { value: "$.col_blob" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "TINYBLOB(10)" } } } args { type: SCALAR scalar { type: V_BOOL v_bool: true } } namespace: "xplugin" } -->recv -->sql SHOW INDEX FROM xplugintest.table1; -->endsql -->sql #Trying to add FULLTEXT INDEX leads to server crash BUG 21633035 ALTER TABLE xplugintest.table1 ADD SUBJECT text GENERATED ALWAYS AS (json_extract( doc, '$.subject' )) STORED; ALTER TABLE xplugintest.table1 ADD book text ; ALTER TABLE xplugintest.table1 ADD INDEX `fulltext_idx_1` (subject(100)); ALTER TABLE xplugintest.table1 ADD INDEX `fulltext_idx_2` (subject(100)); ALTER TABLE xplugintest.table1 ADD INDEX `fulltext_idx_3` (book(100)); SHOW CREATE TABLE xplugintest.table1; SHOW INDEX FROM xplugintest.table1; -->endsql -->echo drop primary index Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "PRIMARY" } } } namespace: "xplugin" } -->recv -->sql SHOW CREATE TABLE xplugintest.table1; -->endsql --echo drop fulltext index Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "fulltext_idx_1" } } } namespace: "xplugin" } -->recv Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "fulltext_idx_3" } } } namespace: "xplugin" } -->recv Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "fulltext_idx_2" } } } namespace: "xplugin" } -->recv -->sql -- drop column drop index as well SHOW CREATE TABLE xplugintest.table1; ALTER TABLE xplugintest.table1 DROP COLUMN subject; SHOW INDEX FROM xplugintest.table1; CREATE TABLE xplugintest.table2 ( ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(255) NOT NULL, LastName VARCHAR(255) NOT NULL, UNIQUE `idx1` (Name), UNIQUE `idx2` (LastName) ) ; -->endsql -->echo drop index from data_model=TABLE Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "idx1" } } } namespace: "xplugin" } -->recv -->echo Error can not drop primary index when column defined as auto_increment Mysqlx.Sql.StmtExecute { stmt: "drop_collection_index" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "PRIMARY" } } } namespace: "xplugin" } -->expecterror 1075 -->recvresult -->sql SHOW CREATE TABLE xplugintest.table2; -->endsql -->echo drop index using namespace=sql Mysqlx.Sql.StmtExecute { stmt: "ALTER TABLE xplugintest.table2 DROP INDEX `idx2`" namespace: "sql" } -->recvresult -->sql SHOW INDEX FROM xplugintest.table2; -->endsql ## Cleanup -->sql DROP DATABASE IF EXISTS xplugintest; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp # ## Postamble UNINSTALL PLUGIN mysqlx;