1let $DATA_PATH=;
2let $INDEX_PATH=;
3--source include/have_partition.inc
4
5--echo # Additional tests for WL#5217 by QA, testplan 1.1
6
7let $TABLENAME= t1;
8--source suite/parts/inc/partition-dml_cr_tab.inc
9--source suite/parts/inc/partition-dml_ins_tab.inc
10
11--enable_connect_log
12
13GRANT ALL PRIVILEGES ON test.* TO test_user_1 IDENTIFIED BY 'testpw';
14GRANT ALL PRIVILEGES ON test.* TO test_user_2 IDENTIFIED BY 'testpw';
15
16connect (session1, localhost, test_user_1,'testpw',test);
17--sorted_result
18SELECT * FROM t1 PARTITION (`p0-29`);
19--echo send
20send
21UPDATE t1 PARTITION (`p0-29`) SET b='p0-29-upd-1' WHERE a BETWEEN 0 AND 9;
22
23connect (session2, localhost, test_user_2,'testpw',test);
24let $wait_condition= SELECT count(*)= 4 FROM t1 WHERE b ='p0-29-upd-1';
25--source include/wait_condition.inc
26--sorted_result
27SELECT * FROM t1 PARTITION (`p30-299`);
28UPDATE t1 PARTITION (`p30-299`) SET b='p30-299-upd' WHERE a BETWEEN 30 AND 39;
29--sorted_result
30SELECT * FROM t1 PARTITION (`p30-299`);
31--sorted_result
32SELECT * FROM t1 PARTITION (`p300-2999`);
33UPDATE t1 PARTITION (`p300-2999`) SET b='p300-2999-upd' WHERE a BETWEEN 300 AND 309;
34--sorted_result
35SELECT * FROM t1 PARTITION (`p300-2999`);
36--sorted_result
37SELECT * FROM t1 PARTITION (`p3000-299999`);
38UPDATE t1 PARTITION (`p3000-299999`) SET b='p3000-299999-upd' WHERE a BETWEEN 3000 AND 3009;
39--sorted_result
40SELECT * FROM t1 PARTITION (`p3000-299999`);
41UPDATE t1 PARTITION (`p0-29`) SET b='p0-29-upd-2' WHERE a BETWEEN 0 AND 9;
42--sorted_result
43SELECT * FROM t1 PARTITION (`p0-29`);
44UPDATE t1 PARTITION (subp3) SET b='subp3-upd';
45UPDATE t1 PARTITION (subp4) SET b='subp4-upd';
46UPDATE t1 PARTITION (subp5) SET b='subp5-upd';
47--sorted_result
48SELECT * FROM t1 PARTITION (subp3);
49--sorted_result
50SELECT * FROM t1 PARTITION (subp4);
51--sorted_result
52SELECT * FROM t1 PARTITION (subp5);
53SELECT * FROM t1 PARTITION (subp4,subp5,subp3) order by b,a;
54
55connection session1;
56--echo reap
57reap;
58--sorted_result
59SELECT * FROM t1 PARTITION (`p0-29`);
60
61connection session2;
62--sorted_result
63SELECT * FROM t1 PARTITION (`p0-29`);
64SELECT
65(SELECT count(*) FROM t1 PARTITION (pneg,`p0-29`,`p30-299`,`p300-2999`,`p3000-299999`)) =
66(SELECT count(*) FROM t1) as `MUST BE TRUE (1)` ;
67
68# 2) empty (sub)partitions
69let $TABLENAME= t2;
70--source suite/parts/inc/partition-dml_cr_tab.inc
71
72SELECT * FROM t2 PARTITION (`p30-299`);
73UPDATE t2 PARTITION (`p30-299`) SET b='p30-299-upd' WHERE a BETWEEN 30 AND 39;
74DELETE FROM t2 PARTITION (`p30-299`) WHERE a BETWEEN 30 AND 39;
75SELECT * FROM t2 PARTITION (`p300-2999`);
76UPDATE t2 PARTITION (`p300-2999`) SET b='p300-2999-upd' WHERE a BETWEEN 300 AND 309;
77DELETE FROM t2 PARTITION (`p300-2999`) WHERE a BETWEEN 300 AND 309;
78SELECT * FROM t2 PARTITION (`p3000-299999`);
79UPDATE t2 PARTITION (`p3000-299999`) SET b='p3000-299999-upd' WHERE a BETWEEN 3000 AND 3009;
80DELETE FROM t2 PARTITION (`p3000-299999`) WHERE a BETWEEN 3000 AND 3009;
81SELECT * FROM t2 PARTITION (`p0-29`);
82UPDATE t2 PARTITION (`p0-29`) SET b='p0-29-upd-2' WHERE a BETWEEN 0 AND 9;
83DELETE FROM t2 PARTITION (`p0-29`) WHERE a BETWEEN 0 AND 9;
84UPDATE t2 PARTITION (subp3) SET b='subp3-upd';
85DELETE FROM t2 PARTITION (subp3);
86UPDATE t2 PARTITION (subp4) SET b='subp4-upd';
87DELETE FROM t2 PARTITION (subp4);
88UPDATE t2 PARTITION (subp5) SET b='subp5-upd';
89DELETE FROM t2 PARTITION (subp5);
90UPDATE t2 PARTITION (subp4,subp5,subp3) SET b='subp-upd';
91DELETE FROM t2 PARTITION (subp4,subp5,subp3);
92SELECT * FROM t2 PARTITION (subp3);
93SELECT * FROM t2 PARTITION (subp4);
94SELECT * FROM t2 PARTITION (subp5);
95
96disconnect session1;
97disconnect session2;
98connection default;
99DROP TABLE t1, t2;
100DROP USER test_user_1;
101DROP USER test_user_2;
102
103