Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb/r/ |
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/innodb/r/tablespace_per_table.result |
SET default_storage_engine=InnoDB; # # TABLESPACE related tests. # # # CREATE TABLE ... INDEX DIRECTORY # In non-strict mode INDEX DIRECTORY is ignored. # In strict mode INDEX DIRECTORY is rejected. # SET SESSION innodb_strict_mode = OFF; CREATE TABLE t1 (a int KEY, b text) INDEX DIRECTORY='MYSQL_TMP_DIR/alt_dir'; Warnings: Warning 1618 <INDEX DIRECTORY> option ignored SHOW WARNINGS; Level Code Message Warning 1618 <INDEX DIRECTORY> option ignored SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t1; SET SESSION innodb_strict_mode = ON; CREATE TABLE t1 (a int KEY, b text) INDEX DIRECTORY='MYSQL_TMP_DIR/alt_dir'; ERROR HY000: Table storage engine for 't1' doesn't have this option SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: INDEX DIRECTORY is not supported Error 1031 Table storage engine for 't1' doesn't have this option # # Innodb does not support DATA DIRECTORY without innodb_file_per_table=ON. # In non-strict mode DATA DIRECTORY is ignored. # In strict mode DATA DIRECTORY without innodb_file_per_table=ON is rejected. # TABLESPACE='innodb_file_per_table' overrides the innodb_file_per_table=OFF setting. # SET GLOBAL innodb_file_per_table=OFF; SET SESSION innodb_strict_mode = OFF; CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; Warnings: Warning 1478 InnoDB: DATA DIRECTORY requires innodb_file_per_table. Warning 1618 <DATA DIRECTORY> option ignored SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: DATA DIRECTORY requires innodb_file_per_table. Warning 1618 <DATA DIRECTORY> option ignored SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t1; SET SESSION innodb_strict_mode = ON; CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; ERROR HY000: Table storage engine for 't1' doesn't have this option SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: DATA DIRECTORY requires innodb_file_per_table. Error 1031 Table storage engine for 't1' doesn't have this option CREATE TABLE t1 (a int KEY, b text) TABLESPACE=`innodb_file_per_table` DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `innodb_file_per_table` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' DROP TABLE t1; # Now set innodb_file_per_table so that DATA DIRECTORY can be tested. SET GLOBAL innodb_file_per_table=ON; # # Create the tablespace in MYSQL_TMP_DIR/alt_dir # InnoDB will create the sub-directories if needed. # CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; SHOW WARNINGS; Level Code Message INSERT INTO t1 VALUES (1, 'Create the tablespace'); SELECT * FROM t1; a b 1 Create the tablespace # # Check if link file exists in MYSQLD_DATADIR # ---- MYSQLD_DATADIR/test t1.frm t1.isl # Check if tablespace file exists where we specified in DATA DIRECTORY ---- MYSQL_TMP_DIR/alt_dir/test t1.ibd # # Check that DATA DIRECTORY shows up in the SHOW CREATE TABLE results. # SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' # Show that the system tables have this tablespace in them correctly === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/t1 test/t1 97 5 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t1.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t1.ibd # # Show that the system tables are updated on drop table # DROP TABLE t1; === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path # # Create the same table a second time in the same place # CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; INSERT INTO t1 VALUES (2, 'Create the same table a second time in the same place'); SELECT * FROM t1; a b 2 Create the same table a second time in the same place SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/t1 test/t1 97 5 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t1.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t1.ibd ---- MYSQLD_DATADIR/test t1.frm t1.isl ---- MYSQL_TMP_DIR/alt_dir/test t1.ibd # # Truncate the table, then insert and verify # TRUNCATE TABLE t1; INSERT INTO t1 VALUES (3, 'Truncate the table, then insert'); SELECT * FROM t1; a b 3 Truncate the table, then insert === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/t1 test/t1 97 5 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t1.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t1.ibd ---- MYSQLD_DATADIR/test t1.frm t1.isl ---- MYSQL_TMP_DIR/alt_dir/test t1.ibd # # Rename the table, then insert and verify # RENAME TABLE t1 TO t2; INSERT INTO t2 VALUES (4, 'Rename the table, then insert'); SELECT * FROM t2; a b 3 Truncate the table, then insert 4 Rename the table, then insert === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/t2 test/t2 97 5 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t2.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t2.ibd ---- MYSQLD_DATADIR/test t2.frm t2.isl ---- MYSQL_TMP_DIR/alt_dir/test t2.ibd # # CREATE TABLE LIKE does not retain DATA DIRECTORY automatically. # CREATE TABLE t3 LIKE t2; INSERT INTO t3 VALUES (5, 'CREATE TABLE LIKE'); SELECT * FROM t3; a b 5 CREATE TABLE LIKE === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/t2 test/t2 97 5 Dynamic 0 Single test/t3 test/t3 33 5 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t2.ibd test/t3 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t3.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t2.ibd test/t3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3.ibd ---- MYSQLD_DATADIR/test t2.frm t2.isl t3.frm t3.ibd # # Now make sure the tables can be fully dropped. # DROP TABLE t2, t3; === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path ---- MYSQLD_DATADIR/test ---- MYSQL_TMP_DIR/alt_dir/test # # Be sure SQL MODE 'NO_DIR_IN_CREATE' prevents the use of DATA DIRECTORY # SET @org_mode=@@sql_mode; SET @@sql_mode='NO_DIR_IN_CREATE'; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. SELECT @@sql_mode; @@sql_mode NO_DIR_IN_CREATE CREATE TABLE t1 (a int, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; Warnings: Warning 1618 <DATA DIRECTORY> option ignored SHOW WARNINGS; Level Code Message Warning 1618 <DATA DIRECTORY> option ignored INSERT INTO t1 VALUES (6, 'SQL MODE NO_DIR_IN_CREATE prevents DATA DIRECTORY'); DROP TABLE t1; set @@sql_mode=@org_mode; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. # # The server does not allow any DATA DIRECTORY name to be a relative path # or to be located in or under MYSQLD_DATADIR. # CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY './'; ERROR 42000: Incorrect table name './' SHOW WARNINGS; Level Code Message Error 1103 Incorrect table name './' CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY '../'; ERROR 42000: Incorrect table name '../' SHOW WARNINGS; Level Code Message Error 1103 Incorrect table name '../' CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY 'MYSQLD_DATADIR'; ERROR HY000: Incorrect arguments to DATA DIRECTORY SHOW WARNINGS; Level Code Message Error 1210 Incorrect arguments to DATA DIRECTORY CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY 'MYSQLD_DATADIR/under'; ERROR HY000: Incorrect arguments to DATA DIRECTORY SHOW WARNINGS; Level Code Message Error 1210 Incorrect arguments to DATA DIRECTORY # # TEMPORARY tables are incompatible with DATA DIRECTORY # In strict mode DATA DIRECTORY is rejected. In non-strict mode it # is ignored. # SET SESSION innodb_strict_mode = OFF; CREATE TEMPORARY TABLE t1 (a int KEY, b text) engine=InnoDB DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; Warnings: Warning 1478 InnoDB: DATA DIRECTORY cannot be used for TEMPORARY tables. Warning 1618 <DATA DIRECTORY> option ignored SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: DATA DIRECTORY cannot be used for TEMPORARY tables. Warning 1618 <DATA DIRECTORY> option ignored SHOW CREATE TABLE t1; Table Create Table t1 CREATE TEMPORARY TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t1; SET SESSION innodb_strict_mode = ON; CREATE TEMPORARY TABLE t1 (a int KEY, b text) engine=InnoDB DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; ERROR HY000: Table storage engine for 't1' doesn't have this option SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: DATA DIRECTORY cannot be used for TEMPORARY tables. Error 1031 Table storage engine for 't1' doesn't have this option # # Create the remote table via static DDL statements in a stored procedure # CREATE PROCEDURE static_proc() BEGIN CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'; END | CALL static_proc; === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t1.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t1.ibd INSERT INTO t1 VALUES (7, 'Create the remote table via static DDL statements'); SELECT * FROM t1; a b 7 Create the remote table via static DDL statements SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' ---- MYSQLD_DATADIR/test t1.frm t1.isl ---- MYSQL_TMP_DIR/alt_dir/test t1.ibd DROP PROCEDURE static_proc; DROP TABLE t1; # # Create the remote table via dynamic DDL statements in a stored procedure # CREATE PROCEDURE dynamic_proc() BEGIN PREPARE stmt1 FROM "CREATE TABLE t1 (a int KEY, b text) DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir'"; EXECUTE stmt1; END | CALL dynamic_proc; INSERT INTO t1 VALUES (8, 'Create the remote table via dynamic DDL statements'); SELECT * FROM t1; a b 8 Create the remote table via dynamic DDL statements SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` text, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t1.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t1.ibd ---- MYSQLD_DATADIR/test t1.frm t1.isl ---- MYSQL_TMP_DIR/alt_dir/test t1.ibd DROP PROCEDURE dynamic_proc; DEALLOCATE PREPARE stmt1; DROP TABLE t1; # # CREATE, DROP, ADD and TRUNCATE PARTITION with DATA DIRECTORY # CREATE TABLE emp ( id INT NOT NULL, store_name VARCHAR(30), parts VARCHAR(30), store_id INT ) PARTITION BY LIST(store_id) ( PARTITION east VALUES IN (10,20,30) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_east', PARTITION north VALUES IN (40,50,60) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_north', PARTITION west VALUES IN (70,80,100) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_west' ); INSERT INTO emp values(1,'Oracle','NUTT',10); INSERT INTO emp values(2,'HUAWEI','BOLT',40); INSERT INTO emp values(3,'IBM','NAIL',70); SHOW CREATE TABLE emp; Table Create Table emp CREATE TABLE `emp` ( `id` int(11) NOT NULL, `store_name` varchar(30) DEFAULT NULL, `parts` varchar(30) DEFAULT NULL, `store_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (store_id) (PARTITION east VALUES IN (10,20,30) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_east/' ENGINE = InnoDB, PARTITION north VALUES IN (40,50,60) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_north/' ENGINE = InnoDB, PARTITION west VALUES IN (70,80,100) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_west/' ENGINE = InnoDB) */ SELECT * FROM emp; id store_name parts store_id 1 Oracle NUTT 10 2 HUAWEI BOLT 40 3 IBM NAIL 70 === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/emp#p#east test/emp#p#east 97 7 Dynamic 0 Single test/emp#p#north test/emp#p#north 97 7 Dynamic 0 Single test/emp#p#west test/emp#p#west 97 7 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/emp#p#east Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/emp#p#east TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd ---- MYSQLD_DATADIR/test emp#p#east.isl emp#p#north.isl emp#p#west.isl emp.frm ---- MYSQL_TMP_DIR/alt_dir_east/test emp#p#east.ibd ---- MYSQL_TMP_DIR/alt_dir_north/test emp#p#north.ibd ---- MYSQL_TMP_DIR/alt_dir_west/test emp#p#west.ibd # # DROP one PARTITION. # ALTER TABLE emp DROP PARTITION west; SHOW CREATE TABLE emp; Table Create Table emp CREATE TABLE `emp` ( `id` int(11) NOT NULL, `store_name` varchar(30) DEFAULT NULL, `parts` varchar(30) DEFAULT NULL, `store_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (store_id) (PARTITION east VALUES IN (10,20,30) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_east/' ENGINE = InnoDB, PARTITION north VALUES IN (40,50,60) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_north/' ENGINE = InnoDB) */ SELECT * FROM emp; id store_name parts store_id 1 Oracle NUTT 10 2 HUAWEI BOLT 40 === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/emp#p#east test/emp#p#east 97 7 Dynamic 0 Single test/emp#p#north test/emp#p#north 97 7 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/emp#p#east Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/emp#p#east TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd ---- MYSQLD_DATADIR/test emp#p#east.isl emp#p#north.isl emp.frm ---- MYSQL_TMP_DIR/alt_dir_east/test emp#p#east.ibd ---- MYSQL_TMP_DIR/alt_dir_north/test emp#p#north.ibd ---- MYSQL_TMP_DIR/alt_dir_west/test # # ADD the PARTITION back. # ALTER TABLE emp ADD PARTITION ( PARTITION west VALUES IN (70,80,100) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_west'); INSERT INTO emp VALUES(3,'IBM','NAIL',70); SELECT * FROM emp; id store_name parts store_id 1 Oracle NUTT 10 2 HUAWEI BOLT 40 3 IBM NAIL 70 === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/emp#p#east test/emp#p#east 97 7 Dynamic 0 Single test/emp#p#north test/emp#p#north 97 7 Dynamic 0 Single test/emp#p#west test/emp#p#west 97 7 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/emp#p#east Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/emp#p#east TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd ---- MYSQLD_DATADIR/test emp#p#east.isl emp#p#north.isl emp#p#west.isl emp.frm ---- MYSQL_TMP_DIR/alt_dir_east/test emp#p#east.ibd ---- MYSQL_TMP_DIR/alt_dir_north/test emp#p#north.ibd ---- MYSQL_TMP_DIR/alt_dir_west/test emp#p#west.ibd # # TRUNCATE one PARTITION. # ALTER TABLE emp TRUNCATE PARTITION west; SHOW CREATE TABLE emp; Table Create Table emp CREATE TABLE `emp` ( `id` int(11) NOT NULL, `store_name` varchar(30) DEFAULT NULL, `parts` varchar(30) DEFAULT NULL, `store_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (store_id) (PARTITION east VALUES IN (10,20,30) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_east/' ENGINE = InnoDB, PARTITION north VALUES IN (40,50,60) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_north/' ENGINE = InnoDB, PARTITION west VALUES IN (70,80,100) DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir_west' ENGINE = InnoDB) */ INSERT INTO emp VALUES(3,'IBM','NAIL',70); SELECT * FROM emp; id store_name parts store_id 1 Oracle NUTT 10 2 HUAWEI BOLT 40 3 IBM NAIL 70 === information_schema.innodb_sys_tables and innodb_sys_tablespaces === Table Name Tablespace Table Flags Columns Row Format Zip Size Space Type test/emp#p#east test/emp#p#east 97 7 Dynamic 0 Single test/emp#p#north test/emp#p#north 97 7 Dynamic 0 Single test/emp#p#west test/emp#p#west 97 7 Dynamic 0 Single === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/emp#p#east Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd === information_schema.files === Space_Name File_Type Engine Status Tablespace_Name Path test/emp#p#east TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_east/test/emp#p#east.ibd test/emp#p#north TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_north/test/emp#p#north.ibd test/emp#p#west TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir_west/test/emp#p#west.ibd ---- MYSQLD_DATADIR/test emp#p#east.isl emp#p#north.isl emp#p#west.isl emp.frm ---- MYSQL_TMP_DIR/alt_dir_east/test emp#p#east.ibd ---- MYSQL_TMP_DIR/alt_dir_north/test emp#p#north.ibd ---- MYSQL_TMP_DIR/alt_dir_west/test emp#p#west.ibd DROP TABLE emp; # # Cleanup #