~ubuntu-branches/ubuntu/trusty/mariadb-5.5/trusty-proposed

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Otto Kekäläinen
  • Date: 2013-12-22 10:27:05 UTC
  • Revision ID: package-import@ubuntu.com-20131222102705-mndw7s12mz0szrcn
Tags: upstream-5.5.32
Import upstream version 5.5.32

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Partition pruning tests for new COLUMN LIST feature
 
3
#
 
4
-- source include/have_partition.inc
 
5
 
 
6
--disable_warnings
 
7
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 
8
--enable_warnings
 
9
 
 
10
create table t1 (a char, b char, c char)
 
11
partition by range columns(a,b,c)
 
12
( partition p0 values less than ('a','b','c'));
 
13
insert into t1 values ('a', NULL, 'd');
 
14
explain partitions select * from t1 where a = 'a' AND c = 'd';
 
15
select * from t1 where a = 'a' AND c = 'd';
 
16
drop table t1;
 
17
 
 
18
## COLUMN_LIST partition pruning tests
 
19
create table t1 (a int not null) partition by range columns(a) (
 
20
  partition p0 values less than (10),
 
21
  partition p1 values less than (20),
 
22
  partition p2 values less than (30),
 
23
  partition p3 values less than (40),
 
24
  partition p4 values less than (50),
 
25
  partition p5 values less than (60),
 
26
  partition p6 values less than (70)
 
27
);
 
28
insert into t1 values (5),(15),(25),(35),(45),(55),(65);
 
29
insert into t1 values (5),(15),(25),(35),(45),(55),(65);
 
30
 
 
31
create table t2 (a int not null) partition by range(a) (
 
32
  partition p0 values less than (10),
 
33
  partition p1 values less than (20),
 
34
  partition p2 values less than (30),
 
35
  partition p3 values less than (40),
 
36
  partition p4 values less than (50),
 
37
  partition p5 values less than (60),
 
38
  partition p6 values less than (70)
 
39
);
 
40
insert into t2 values (5),(15),(25),(35),(45),(55),(65);
 
41
insert into t2 values (5),(15),(25),(35),(45),(55),(65);
 
42
 
 
43
explain partitions select * from t1 where a > 35 and a < 45;
 
44
explain partitions select * from t2 where a > 35 and a < 45;
 
45
 
 
46
drop table t1, t2;
 
47
 
 
48
create table t1 (a int not null, b int not null ) 
 
49
partition by range columns(a,b) (
 
50
  partition p01 values less than (2,10),
 
51
  partition p02 values less than (2,20),
 
52
  partition p03 values less than (2,30),
 
53
 
 
54
  partition p11 values less than (4,10),
 
55
  partition p12 values less than (4,20),
 
56
  partition p13 values less than (4,30),
 
57
 
 
58
  partition p21 values less than (6,10),
 
59
  partition p22 values less than (6,20),
 
60
  partition p23 values less than (6,30)
 
61
);
 
62
 
 
63
insert into t1 values (2,5), (2,15), (2,25),
 
64
  (4,5), (4,15), (4,25), (6,5), (6,15), (6,25);
 
65
insert into t1 select * from t1;
 
66
 
 
67
explain partitions select * from t1 where a=2;
 
68
explain partitions select * from t1 where a=4;
 
69
explain partitions select * from t1 where a=2 and b < 22;
 
70
 
 
71
drop table t1;