MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
partition-dml-1-11.inc
1 # DATA DIRECTORY
2 # Make directory for partition data
3 let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
4 --mkdir $data_dir_path
5 let $DATA_PATH= DATA DIRECTORY = '$data_dir_path';
6 
7 # INDEX DIRECTORY
8 # Make directory for partition index
9 let $idx_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
10 --mkdir $idx_dir_path
11 let $INDEX_PATH= INDEX DIRECTORY = '$idx_dir_path';
12 
13 --source include/have_partition.inc
14 
15 --echo # Additional tests for WL#5217 by QA, testplan 1.1
16 
17 let $TABLENAME= t1;
18 --disable_result_log
19 --disable_query_log
20 --source suite/parts/inc/partition-dml_cr_tab.inc
21 --enable_result_log
22 --enable_query_log
23 --source suite/parts/inc/partition-dml_ins_tab.inc
24 
25 --enable_connect_log
26 
27 GRANT ALL PRIVILEGES ON test.* TO test_user_1 IDENTIFIED BY 'testpw';
28 GRANT ALL PRIVILEGES ON test.* TO test_user_2 IDENTIFIED BY 'testpw';
29 
30 connect (session1, localhost, test_user_1,'testpw',test);
31 --sorted_result
32 SELECT * FROM t1 PARTITION (`p0-29`);
33 --echo send
34 send
35 UPDATE t1 PARTITION (`p0-29`) SET b='p0-29-upd-1' WHERE a BETWEEN 0 AND 9;
36 
37 connect (session2, localhost, test_user_2,'testpw',test);
38 let $wait_condition= SELECT count(*)= 4 FROM t1 WHERE b ='p0-29-upd-1';
39 --source include/wait_condition.inc
40 --sorted_result
41 SELECT * FROM t1 PARTITION (`p30-299`);
42 UPDATE t1 PARTITION (`p30-299`) SET b='p30-299-upd' WHERE a BETWEEN 30 AND 39;
43 --sorted_result
44 SELECT * FROM t1 PARTITION (`p30-299`);
45 --sorted_result
46 SELECT * FROM t1 PARTITION (`p300-2999`);
47 UPDATE t1 PARTITION (`p300-2999`) SET b='p300-2999-upd' WHERE a BETWEEN 300 AND 309;
48 --sorted_result
49 SELECT * FROM t1 PARTITION (`p300-2999`);
50 --sorted_result
51 SELECT * FROM t1 PARTITION (`p3000-299999`);
52 UPDATE t1 PARTITION (`p3000-299999`) SET b='p3000-299999-upd' WHERE a BETWEEN 3000 AND 3009;
53 --sorted_result
54 SELECT * FROM t1 PARTITION (`p3000-299999`);
55 UPDATE t1 PARTITION (`p0-29`) SET b='p0-29-upd-2' WHERE a BETWEEN 0 AND 9;
56 --sorted_result
57 SELECT * FROM t1 PARTITION (`p0-29`);
58 UPDATE t1 PARTITION (subp3) SET b='subp3-upd';
59 UPDATE t1 PARTITION (subp4) SET b='subp4-upd';
60 UPDATE t1 PARTITION (subp5) SET b='subp5-upd';
61 --sorted_result
62 SELECT * FROM t1 PARTITION (subp3);
63 --sorted_result
64 SELECT * FROM t1 PARTITION (subp4);
65 --sorted_result
66 SELECT * FROM t1 PARTITION (subp5);
67 SELECT * FROM t1 PARTITION (subp4,subp5,subp3) order by b,a;
68 
69 connection session1;
70 --echo reap
71 reap;
72 --sorted_result
73 SELECT * FROM t1 PARTITION (`p0-29`);
74 
75 connection session2;
76 --sorted_result
77 SELECT * FROM t1 PARTITION (`p0-29`);
78 SELECT
79 (SELECT count(*) FROM t1 PARTITION (pneg,`p0-29`,`p30-299`,`p300-2999`,`p3000-299999`)) =
80 (SELECT count(*) FROM t1) as `MUST BE TRUE (1)` ;
81 
82 # 2) empty (sub)partitions
83 let $TABLENAME= t2;
84 --disable_result_log
85 --disable_query_log
86 --source suite/parts/inc/partition-dml_cr_tab.inc
87 --enable_result_log
88 --enable_query_log
89 
90 SELECT * FROM t2 PARTITION (`p30-299`);
91 UPDATE t2 PARTITION (`p30-299`) SET b='p30-299-upd' WHERE a BETWEEN 30 AND 39;
92 DELETE FROM t2 PARTITION (`p30-299`) WHERE a BETWEEN 30 AND 39;
93 SELECT * FROM t2 PARTITION (`p300-2999`);
94 UPDATE t2 PARTITION (`p300-2999`) SET b='p300-2999-upd' WHERE a BETWEEN 300 AND 309;
95 DELETE FROM t2 PARTITION (`p300-2999`) WHERE a BETWEEN 300 AND 309;
96 SELECT * FROM t2 PARTITION (`p3000-299999`);
97 UPDATE t2 PARTITION (`p3000-299999`) SET b='p3000-299999-upd' WHERE a BETWEEN 3000 AND 3009;
98 DELETE FROM t2 PARTITION (`p3000-299999`) WHERE a BETWEEN 3000 AND 3009;
99 SELECT * FROM t2 PARTITION (`p0-29`);
100 UPDATE t2 PARTITION (`p0-29`) SET b='p0-29-upd-2' WHERE a BETWEEN 0 AND 9;
101 DELETE FROM t2 PARTITION (`p0-29`) WHERE a BETWEEN 0 AND 9;
102 UPDATE t2 PARTITION (subp3) SET b='subp3-upd';
103 DELETE FROM t2 PARTITION (subp3);
104 UPDATE t2 PARTITION (subp4) SET b='subp4-upd';
105 DELETE FROM t2 PARTITION (subp4);
106 UPDATE t2 PARTITION (subp5) SET b='subp5-upd';
107 DELETE FROM t2 PARTITION (subp5);
108 UPDATE t2 PARTITION (subp4,subp5,subp3) SET b='subp-upd';
109 DELETE FROM t2 PARTITION (subp4,subp5,subp3);
110 SELECT * FROM t2 PARTITION (subp3);
111 SELECT * FROM t2 PARTITION (subp4);
112 SELECT * FROM t2 PARTITION (subp5);
113 
114 disconnect session1;
115 disconnect session2;
116 connection default;
117 DROP TABLE t1, t2;
118 --error 0,1
119 --rmdir $data_dir_path/test
120 --rmdir $data_dir_path
121 --rmdir $idx_dir_path
122 DROP USER test_user_1;
123 DROP USER test_user_2;
124