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