oceanbase
208 строк · 6.8 Кб
1--disable_query_log
2set @@session.explicit_defaults_for_timestamp=off;
3--enable_query_log
4# owner: yuchen.wyc
5# owner group: sql1
6# 测试delete stmt
7# tags: delete,dml
8
9--disable_warnings
10drop table if exists t1, t_part, t_single;
11--enable_warnings
12--disable_warnings
13drop table if exists t2;
14--enable_warnings
15--disable_warnings
16drop table if exists t3;
17--enable_warnings
18--disable_warnings
19drop table if exists t4;
20--enable_warnings
21--result_format 4
22#--explain_protocol 2
23
24#single column rowkey
25create table t1(a int primary key, b int);
26
27insert into t1 values(1,0),(2,0),(3,0);
28delete from t1;
29select * from t1;
30
31insert into t1 values(1,0),(2,0),(3,0);
32delete from t1 where a = 1;
33delete from t1 where a = 2;
34delete from t1 where a = 3;
35select * from t1;
36
37insert into t1 values(1,0),(2,0),(3,0);
38delete from t1 where a=1;
39select * from t1;
40
41insert into t1 values(1,0);
42replace into t1 values(2,0),(3,0);
43delete from t1 where a=1 or a=2 or a=3;
44select * from t1;
45
46insert into t1 values(1,0),(2,0);
47delete from t1 where a=1;
48delete from t1 where a=2;
49delete from t1 where a=3;
50select * from t1;
51
52drop table t1;
53
54create table t_part (c1 bigint primary key, c2 bigint) partition by hash(c1) partitions 2;
55create table t_single(c1 int);
56insert into t_part(c1) values(1231346464513131);
57insert into t_part values(1, 2), (3, 1);
58insert into t_part values(2, 3), (4, 3);
59insert into t_part partition(p0, p1) values(5, 6);
60insert into t_part values('6', '6'), ('8', '8');
61delete from t_part where c1 in (select c1 from t_single);
62select * from t_part;
63drop table t_part, t_single;
64
65# multi-column rowkey
66create table t2 (p1 int, p2 int, p3 int, p4 int, primary key(p1,p2,p3));
67
68insert into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
69
70delete from t2 where p1 = 1;
71
72--disable_query_log
73--let $p=13
74while($p>1)
75{
76eval delete from t2 where p1=$p and p2 = $p and p3=$p;
77dec $p;
78}
79--enable_query_log
80
81select * from t2;
82select p1,p3 from t2;
83
84replace into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
85
86delete from t2 where p1>3 or p3 >=6;
87select * from t2;
88select p1,p3 from t2;
89delete from t2 where p1=1 and p3 =2;
90select * from t2;
91select p1,p3 from t2;
92delete from t2 where p1=1 and p2 =1 and p3=1;
93select * from t2;
94select p1,p3 from t2;
95
96replace into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
97
98delete from t2 where p1 in (1,2,3,6,7,8,12,13,0);
99select * from t2;
100
101drop table t2;
102
103
104# mix common column and rowkey column
105create table t3 (p1 int, p2 int, p3 int, primary key(p1,p2));
106
107insert into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6), (13,4,6);
108delete from t3 where p1=1 and p2=1 and p3=1;
109select * from t3;
110select p1,p3 from t3;
111
112replace into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6), (13,4,6);
113delete from t3 where p1>3 or p3 >=6;
114select * from t3;
115select p1,p3 from t3;
116
117delete from t3 where p1=1 and p3 =2;
118select * from t3;
119select p1,p3 from t3;
120
121replace into t3 values(1,1,1),(2,2,2);
122delete from t3 where p1=1 and p2 =1 and p3=1;
123select * from t3;
124select p1,p3 from t3;
125
126replace into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6),(13,4,6);
127delete from t3 where p1 in (1,2,3,6,7,8,12,13,0);
128select * from t3;
129
130drop table t3;
131
132# where clause
133create table t4 (p1 varchar(100), p2 int, p3 datetime(6), p4 int, primary key(p1,p2,p3));
134
135insert into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
136delete from t4 where p3='2012-10-23 17:14:00';
137select * from t4;
138
139replace into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
140delete from t4 where p2='42';
141select * from t4;
142
143replace into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
144delete from t4 where p2<'401' and p1='c';
145select * from t4;
146
147delete from t4 where p1='a' and p2=41 and p3='2012-10-23 17:14:00';
148select * from t4;
149
150drop table t4;
151
152create table t2(c1 int primary key, c2 int, c3 int);
153create table t3 (c1 int, c2 int, c3 int);
154
155insert into t2 values (1, 1, 1);
156insert into t2 values (2, 2, 2);
157insert into t2 values (3, 2, 3);
158insert into t2 values (4, 6, 4);
159insert into t2 values (5, 4, 3);
160insert into t2 values (6, 4, 2);
161insert into t3 values(2, 2, 2);
162insert into t3 values(3, 3, 3);
163insert into t3 values(4, 4, 4);
164insert into t3 values(5, 5, 5);
165
166delete t3 from t3, t2 where t3.c1 = t2.c2;
167delete t3 from t3, t2 where t3.c1 = t2.c1;
168--error 1235
169delete t3, t33 from t3 left join t3 as t33 on t3.c1 = t33.c1;
170select * from t3;
171select * from t2;
172
173drop table t2;
174drop table t3;
175
176--disable_warnings
177drop table if exists dns_inner_resource_record_info;
178--enable_warnings
179
180CREATE TABLE `dns_inner_resource_record_info`(
181`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
182`owner` varchar(256) NOT NULL COMMENT '资源',
183`cluster_name` varchar(20) NOT NULL COMMENT '所属集群 冗余字段',
184`zone_name` varchar(255) NOT NULL DEFAULT '' COMMENT 'ZONE NAME',
185`view_group_name` varchar(60) DEFAULT '' COMMENT 'VIEW GRP name',
186`domain_group_name` varchar(60) DEFAULT NULL COMMENT '域名组',
187`idc_id` varchar(20) DEFAULT NULL COMMENT 'IDC ID',
188`rr_type` varchar(10) NOT NULL COMMENT '资源类型',
189`ttl` varchar(20) NOT NULL DEFAULT '' COMMENT 'TTL',
190`rr_class` varchar(12) NOT NULL DEFAULT '' COMMENT 'RECODR 类型',
191`data` varchar(500) NOT NULL COMMENT '数据',
192`status` varchar(10) DEFAULT NULL COMMENT '状态',
193`gmt_create` datetime NOT NULL COMMENT '创建时间',
194`gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
195PRIMARY KEY (`id`),
196KEY `rrdata` (`data`(383)) BLOCK_SIZE 16384 GLOBAL,
197KEY `rrtype` (`rr_type`) BLOCK_SIZE 16384 GLOBAL,
198KEY `owner` (`owner`) BLOCK_SIZE 16384 GLOBAL,
199KEY `cluster` (`cluster_name`) BLOCK_SIZE 16384 GLOBAL,
200KEY `zonename` (`zone_name`) BLOCK_SIZE 16384 GLOBAL,
201KEY `viewgroupname` (`view_group_name`) BLOCK_SIZE 16384 GLOBAL,
202KEY `domain_group_name` (`domain_group_name`) BLOCK_SIZE 16384 GLOBAL,
203KEY `idc_id` (`idc_id`) BLOCK_SIZE 16384 GLOBAL
204) COMMENT = 'dns 内网集群资源记录表';
205delete from dns_inner_resource_record_info WHERE cluster_name = "1";
206set binlog_row_image='MINIMAL';
207delete from dns_inner_resource_record_info WHERE cluster_name = "1";
208drop table dns_inner_resource_record_info;
209
210