1 DROP TABLE IF EXISTS t1;
2 DROP DATABASE IF EXISTS mysqltest2;
3 # Creating two non colliding tables mysqltest2.t1 and test.t1
4 # test.t1 have partitions in mysqltest2-directory!
6 CREATE USER mysqltest_1@localhost;
7 CREATE DATABASE mysqltest2;
9 CREATE TABLE t1 (a INT);
10 INSERT INTO t1 VALUES (0);
13 CREATE TABLE t1 (a INT)
14 PARTITION BY LIST (a) (
15 PARTITION p0 VALUES IN (0)
16 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
17 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
18 PARTITION p1 VALUES IN (1)
19 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
20 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
21 PARTITION p2 VALUES IN (2)
23 # without the patch for bug#32091 this would create
24 # files mysqltest2/t1.MYD + .MYI and possible overwrite
25 # the mysqltest2.t1 table (depending on bug#32111)
26 ALTER TABLE t1 REMOVE PARTITIONING;
27 INSERT INTO t1 VALUES (1);
34 # if the patch works, this should be different
35 # and before the patch they were the same!
44 DROP DATABASE mysqltest2;
45 # test that symlinks can not overwrite files when CREATE TABLE
47 CREATE DATABASE mysqltest2;
49 CREATE TABLE t1 (a INT)
50 PARTITION BY LIST (a) (
51 PARTITION p0 VALUES IN (0)
52 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
53 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
54 PARTITION p1 VALUES IN (1)
55 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
56 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
60 CREATE TABLE t1 (a INT)
61 PARTITION BY LIST (a) (
62 PARTITION p0 VALUES IN (0)
63 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
64 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
65 PARTITION p1 VALUES IN (1)
66 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
67 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
69 Got one of the listed errors
70 CREATE TABLE t1 (a INT)
71 PARTITION BY LIST (a) (
72 PARTITION p0 VALUES IN (0)
73 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
74 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
75 PARTITION p1 VALUES IN (1)
76 DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
77 INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
79 Got one of the listed errors
80 # user root (cleanup):
81 DROP DATABASE mysqltest2;
83 DROP USER mysqltest_1@localhost;
84 create table t2 (i int )
85 partition by range (i)
87 partition p01 values less than (1000)
88 data directory="MYSQLTEST_VARDIR/tmp"
89 index directory="MYSQLTEST_VARDIR/tmp"
91 set @org_mode=@@sql_mode;
92 set @@sql_mode='NO_DIR_IN_CREATE';
96 create table t1 (i int )
97 partition by range (i)
99 partition p01 values less than (1000)
100 data directory='/not/existing'
101 index directory='/not/existing'
104 Warning 1618 <DATA DIRECTORY> option ignored
105 Warning 1618 <INDEX DIRECTORY> option ignored
106 show create table t2;
108 t2 CREATE TABLE `t2` (
109 `i` int(11) DEFAULT NULL
110 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
111 /*!50100 PARTITION BY RANGE (i)
112 (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */
114 set @@sql_mode=@org_mode;
115 create table t1 (a int)
117 (partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
118 Got one of the listed errors
119 create table t1 (a int)
122 partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
123 Got one of the listed errors