~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/t/partition.test

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
--source include/have_partition.inc
12
12
 
13
13
--disable_warnings
14
 
drop table if exists t1;
 
14
drop table if exists t1, t2;
15
15
--enable_warnings
16
16
 
 
17
#
 
18
# Bug35931: Index search may return duplicates
 
19
#
 
20
CREATE TABLE t1 (
 
21
  a INT NOT NULL,   
 
22
  b MEDIUMINT NOT NULL,   
 
23
  c INT NOT NULL,
 
24
  KEY b (b)
 
25
) ENGINE=MyISAM
 
26
PARTITION BY LIST (a) (
 
27
  PARTITION p0 VALUES IN (1) 
 
28
);
 
29
INSERT INTO t1 VALUES (1,1,0), (1,1,1), (1,1,2), (1,1,53), (1,1,4), (1,1,5),
 
30
(1,1,6), (1,1,7), (1,1,8), (1,1,9), (1,1,10), (1,1,11), (1,1,12), (1,1,13),
 
31
(1,1,14), (1,1,15), (1,1,16), (1,1,67), (1,1,18), (1,1,19), (1,1,20), (1,1,21),
 
32
(1,1,22), (1,1,23), (1,1,24), (1,1,75), (1,1,26), (1,1,27), (1,1,128),
 
33
(1,1,79), (1,1,30), (1,1,31), (1,1,32), (1,1,33), (1,1,34), (1,1,85), (1,1,36),
 
34
(1,1,37), (1,1,38), (1,1,39), (1,1,40), (1,1,241), (1,1,42), (1,1,43),
 
35
(1,1,44), (1,1,45), (1,1,46), (1,1,147), (1,1,48), (1,1,49), (1,2,0), (1,2,1),
 
36
(1,2,2), (1,2,3), (1,2,4), (1,2,5), (1,2,6), (1,2,7), (1,2,8), (1,2,9),
 
37
(1,2,10), (1,2,11), (1,2,12), (1,2,13), (1,2,14), (1,2,15), (1,2,16), (1,2,17),
 
38
(1,2,18), (1,2,19), (1,2,20), (1,2,21), (1,2,22), (1,2,23), (1,2,24), (1,2,25),
 
39
(1,2,26), (1,2,27), (1,2,28), (1,2,29), (1,2,30), (1,2,31), (1,2,32), (1,2,33),
 
40
(1,2,34), (1,2,35), (1,2,36), (1,2,37), (1,2,38), (1,2,39), (1,2,40), (1,2,41),
 
41
(1,2,42), (1,2,43), (1,2,44), (1,2,45), (1,2,46), (1,2,47), (1,2,48), (1,2,49),
 
42
(1,6,0), (1,6,1), (1,6,2), (1,6,3), (1,6,4), (1,6,5), (1,6,6), (1,6,7),
 
43
(1,6,8), (1,6,9), (1,6,10), (1,6,11), (1,6,12), (1,6,13), (1,6,14), (1,6,15),
 
44
(1,6,16), (1,6,17), (1,6,18), (1,6,19), (1,6,20), (1,6,21), (1,6,22), (1,6,23),
 
45
(1,6,24), (1,6,25), (1,6,26), (1,6,27), (1,6,28), (1,6,29), (1,6,30), (1,6,31),
 
46
(1,6,32), (1,6,33), (1,6,34), (1,6,35), (1,6,36), (1,6,37), (1,6,38), (1,6,39),
 
47
(1,6,40), (1,6,41), (1,6,42), (1,6,43), (1,6,44), (1,6,45), (1,6,46), (1,6,47),
 
48
(1,6,48), (1,6,49), (1,7,0), (1,7,1), (1,7,2), (1,7,3), (1,7,4), (1,7,5),
 
49
(1,7,6), (1,7,7), (1,7,8), (1,7,9), (1,7,10), (1,7,11), (1,7,12), (1,7,13),
 
50
(1,7,14), (1,7,15), (1,7,16), (1,7,17), (1,7,18), (1,7,19), (1,7,20), (1,7,21),
 
51
(1,7,22), (1,7,23), (1,7,24), (1,7,25), (1,7,26), (1,7,27), (1,7,28), (1,7,29),
 
52
  (1,7,30), (1,7,31), (1,7,32), (1,7,33), (1,7,34), (1,7,35), (1,7,38), (1,7,39),
 
53
(1,7,90), (1,7,41), (1,7,43), (1,7,48), (1,7,49), (1,9,0), (1,9,1), (1,9,2),
 
54
(1,9,3), (1,9,4), (1,9,5), (1,9,6), (1,9,7), (1,9,8), (1,9,9), (1,9,10),
 
55
(1,9,11), (1,9,12), (1,9,13), (1,9,14), (1,9,15), (1,9,16), (1,9,17), (1,9,18),
 
56
(1,9,19), (1,9,20), (1,9,21), (1,9,22), (1,9,23), (1,9,24), (1,9,25), (1,9,26),
 
57
(1,9,29), (1,9,32), (1,9,35), (1,9,38), (1,10,0), (1,10,1), (1,10,2), (1,10,3),
 
58
(1,10,4), (1,10,5), (1,10,6), (1,10,7), (1,10,8), (1,10,9), (1,10,10),
 
59
(1,10,11), (1,10,13), (1,10,14), (1,10,15), (1,10,16), (1,10,17), (1,10,18),
 
60
(1,10,22), (1,10,24), (1,10,25), (1,10,26), (1,10,28), (1,10,131), (1,10,33),
 
61
(1,10,84), (1,10,35), (1,10,40), (1,10,42), (1,10,49), (1,11,0), (1,11,1),
 
62
(1,11,2), (1,11,3), (1,11,4), (1,11,5), (1,11,6), (1,11,7), (1,11,8), (1,11,9),
 
63
(1,11,10), (1,11,11), (1,11,12), (1,11,13), (1,11,14), (1,11,15), (1,11,16),
 
64
(1,11,17), (1,11,18), (1,11,19), (1,11,20), (1,11,21), (1,11,22), (1,11,23),
 
65
(1,11,24), (1,11,25), (1,11,26), (1,11,27), (1,11,28), (1,11,30), (1,11,31),
 
66
(1,11,32), (1,11,33), (1,11,34), (1,11,35), (1,11,37), (1,11,39), (1,11,40),
 
67
(1,11,42), (1,11,44), (1,11,45), (1,11,47), (1,11,48), (1,14,104), (1,14,58),
 
68
(1,14,12), (1,14,13), (1,14,15), (1,14,16), (1,14,17), (1,14,34), (1,15,0),
 
69
(1,15,1), (1,15,2), (1,15,3), (1,15,4), (1,15,5), (1,15,7), (1,15,9),
 
70
(1,15,15), (1,15,27), (1,15,49), (1,16,0), (1,16,1), (1,16,3), (1,17,4),
 
71
(1,19,1);
 
72
SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
73
SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
74
ALTER TABLE t1 DROP INDEX b;
 
75
SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
76
SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
77
ALTER TABLE t1 ENGINE = Memory;
 
78
SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
79
SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
80
ALTER TABLE t1 ADD INDEX b USING HASH (b);
 
81
SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
82
SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 );
 
83
DROP TABLE t1;
 
84
 
 
85
# Bug#37327 Range scan on partitioned table returns duplicate rows
 
86
# (Duplicate of Bug#35931)
 
87
CREATE TABLE `t1` (
 
88
  `c1` int(11) DEFAULT NULL,
 
89
  KEY `c1` (`c1`)
 
90
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
91
 
 
92
CREATE TABLE `t2` (
 
93
  `c1` int(11) DEFAULT NULL,
 
94
  KEY `c1` (`c1`)
 
95
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */;
 
96
 
 
97
INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
 
98
INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
 
99
 
 
100
EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20);
 
101
 
 
102
FLUSH STATUS;
 
103
SELECT c1 FROM t1 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20);
 
104
SHOW STATUS LIKE 'Handler_read_%';
 
105
 
 
106
EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20);
 
107
 
 
108
FLUSH STATUS;
 
109
SELECT c1 FROM t2 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20);
 
110
SHOW STATUS LIKE 'Handler_read_%';
 
111
DROP TABLE t1,t2;
 
112
 
 
113
# Bug#37329 Range scan on partitioned tables shows higher Handler_read_next
 
114
# (marked as duplicate of Bug#35931)
 
115
CREATE TABLE `t1` (
 
116
  `c1` int(11) DEFAULT NULL,
 
117
  KEY `c1` (`c1`)
 
118
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
119
 
 
120
CREATE TABLE `t2` (
 
121
  `c1` int(11) DEFAULT NULL,
 
122
  KEY `c1` (`c1`)
 
123
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */;
 
124
 
 
125
INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
 
126
INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
 
127
 
 
128
EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 2 AND c1 < 5);
 
129
 
 
130
FLUSH STATUS;
 
131
SELECT c1 FROM t1 WHERE (c1 > 2 AND c1 < 5);
 
132
SHOW STATUS LIKE 'Handler_read_%';
 
133
 
 
134
EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 2 AND c1 < 5);
 
135
 
 
136
FLUSH STATUS;
 
137
SELECT c1 FROM t2 WHERE (c1 > 2 AND c1 < 5);
 
138
SHOW STATUS LIKE 'Handler_read_%';
 
139
 
 
140
EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 12 AND c1 < 15);
 
141
 
 
142
FLUSH STATUS;
 
143
SELECT c1 FROM t1 WHERE (c1 > 12 AND c1 < 15);
 
144
SHOW STATUS LIKE 'Handler_read_%';
 
145
 
 
146
EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15);
 
147
 
 
148
FLUSH STATUS;
 
149
SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15);
 
150
SHOW STATUS LIKE 'Handler_read_%';
 
151
DROP TABLE t1,t2;
 
152
 
17
153
--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
18
154
create table t1 (a int) partition by list ((a/3)*10 div 1)
19
155
(partition p0 values in (0), partition p1 values in (1));