Current Path : /home/usr.opt/mysql57/mysql-test/suite/parts/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/parts/r/partition_basic_symlink_innodb.result |
# # Verify that the DATA/INDEX DIR is stored and used if ALTER to MyISAM. # DROP TABLE IF EXISTS t1; SET SESSION innodb_strict_mode = ON; # # InnoDB only supports DATA DIRECTORY with innodb_file_per_table=ON # SET GLOBAL innodb_file_per_table = OFF; CREATE TABLE t1 (c1 INT) ENGINE = InnoDB PARTITION BY HASH (c1) ( PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir', PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-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. Warning 1478 InnoDB: INDEX DIRECTORY is not supported Error 1031 Table storage engine for 't1' doesn't have this option # # InnoDB is different from MyISAM in that it uses a text file # with an '.isl' extension instead of a symbolic link so that # the tablespace can be re-located on any OS. Also, instead of # putting the file directly into the DATA DIRECTORY, # it adds a folder under it with the name of the database. # Since strict mode is off, InnoDB ignores the INDEX DIRECTORY # and it is no longer part of the definition. # SET SESSION innodb_strict_mode = OFF; SET GLOBAL innodb_file_per_table = ON; CREATE TABLE t1 (c1 INT) ENGINE = InnoDB PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir', PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ); Warnings: Warning 1618 <INDEX DIRECTORY> option ignored Warning 1618 <INDEX DIRECTORY> option ignored SHOW WARNINGS; Level Code Message Warning 1618 <INDEX DIRECTORY> option ignored Warning 1618 <INDEX DIRECTORY> option ignored # Verifying .frm, .par, .isl & .ibd files ---- MYSQLD_DATADIR/test t1#P#p0.isl t1#P#p1.isl t1.frm ---- MYSQLTEST_VARDIR/mysql-test-data-dir/test t1#P#p0.ibd t1#P#p1.ibd # The ibd tablespaces should not be directly under the DATA DIRECTORY ---- MYSQLTEST_VARDIR/mysql-test-data-dir test ---- MYSQLTEST_VARDIR/mysql-test-idx-dir FLUSH TABLES; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = InnoDB, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = InnoDB) */ # # Verify that the DATA/INDEX DIRECTORY is stored and used if we # ALTER TABLE to MyISAM. # ALTER TABLE t1 engine=MyISAM; Warnings: Warning 1287 The partition engine, used by table 'test.t1', is deprecated and will be removed in a future release. Please use native partitioning instead. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = MyISAM, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = MyISAM) */ Warnings: Warning 1287 The partition engine, used by table 'test.t1', is deprecated and will be removed in a future release. Please use native partitioning instead. # Verifying .frm, .par and MyISAM files (.MYD, MYI) ---- MYSQLD_DATADIR/test t1#P#p0.MYD t1#P#p0.MYI t1#P#p1.MYD t1#P#p1.MYI t1.frm t1.par ---- MYSQLTEST_VARDIR/mysql-test-data-dir t1#P#p0.MYD t1#P#p1.MYD test ---- MYSQLTEST_VARDIR/mysql-test-idx-dir # # Now verify that the DATA DIRECTORY is used again if we # ALTER TABLE back to InnoDB. # SET SESSION innodb_strict_mode = ON; ALTER TABLE t1 engine=InnoDB; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = InnoDB, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir/' ENGINE = InnoDB) */ # Verifying .frm, .par, .isl and InnoDB .ibd files ---- MYSQLD_DATADIR/test t1#P#p0.isl t1#P#p1.isl t1.frm ---- MYSQLTEST_VARDIR/mysql-test-data-dir test ---- MYSQLTEST_VARDIR/mysql-test-idx-dir ---- MYSQLTEST_VARDIR/mysql-test-data-dir/test t1#P#p0.ibd t1#P#p1.ibd DROP TABLE t1; # # Cleanup #