~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/r/partition_symlink.result

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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!
 
5
# user root:
 
6
CREATE USER mysqltest_1@localhost;
 
7
CREATE DATABASE mysqltest2;
 
8
USE mysqltest2;
 
9
CREATE TABLE t1 (a INT);
 
10
INSERT INTO t1 VALUES (0);
 
11
# user mysqltest_1:
 
12
USE test;
 
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)
 
22
);
 
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);
 
28
SELECT * FROM t1;
 
29
a
 
30
1
 
31
# user root:
 
32
USE mysqltest2;
 
33
FLUSH TABLES;
 
34
# if the patch works, this should be different
 
35
# and before the patch they were the same!
 
36
SELECT * FROM t1;
 
37
a
 
38
0
 
39
USE test;
 
40
SELECT * FROM t1;
 
41
a
 
42
1
 
43
DROP TABLE t1;
 
44
DROP DATABASE mysqltest2;
 
45
# test that symlinks can not overwrite files when CREATE TABLE
 
46
# user root:
 
47
CREATE DATABASE mysqltest2;
 
48
USE 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'
 
57
   );
 
58
# user mysqltest_1:
 
59
USE test;
 
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'
 
68
   );
 
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'
 
78
  );
 
79
Got one of the listed errors
 
80
# user root (cleanup):
 
81
DROP DATABASE mysqltest2;
 
82
USE test;
 
83
DROP USER mysqltest_1@localhost;
 
84
create table t2 (i int )
 
85
partition by range (i)
 
86
(
 
87
partition p01 values less than (1000)
 
88
data directory="MYSQLTEST_VARDIR/tmp"
 
89
    index directory="MYSQLTEST_VARDIR/tmp"
 
90
);
 
91
set @org_mode=@@sql_mode;
 
92
set @@sql_mode='NO_DIR_IN_CREATE';
 
93
select @@sql_mode;
 
94
@@sql_mode
 
95
NO_DIR_IN_CREATE
 
96
create table t1 (i int )
 
97
partition by range (i)
 
98
(
 
99
partition p01 values less than (1000)
 
100
data directory='/not/existing'
 
101
    index directory='/not/existing'
 
102
);
 
103
Warnings:
 
104
Warning 1618    <DATA DIRECTORY> option ignored
 
105
Warning 1618    <INDEX DIRECTORY> option ignored
 
106
show create table t2;
 
107
Table   Create Table
 
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) */
 
113
DROP TABLE t1, t2;
 
114
set @@sql_mode=@org_mode;
 
115
create table t1 (a int)
 
116
partition by key (a)
 
117
(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
 
118
Got one of the listed errors
 
119
create table t1 (a int)
 
120
partition by key (a)
 
121
(partition p0,
 
122
partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
 
123
Got one of the listed errors