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