oceanbase

Форк
0
/t
/
bulk_insert.test 
212 строк · 10.0 Кб
1
#owner: chaser.ch
2
#group: storage2
3

4
#### bulk insert with space
5
--disable_warnings
6
drop table if exists t;
7
--enable_warnings
8

9
create table t (a char(10) not null);
10
insert into t values('b'),('b ');
11
select hex(a) from t;
12
insert into t values('b '),('b');
13
select hex(a) from t;
14
drop table t;
15

16
#
17
# prepare basic data for big table
18
#
19
--disable_warnings
20
drop table if exists test_bulk, test_bulk_prefix;
21
--enable_warnings
22
create table test_bulk(a int, b int, c int, d int, primary key(a, b)) row_format = redundant;
23
create table test_bulk_prefix(a int, b int, c int, d int, primary key(a, b, c, d)) row_format = redundant;
24

25
--let $insert_sql_prefix=insert into test_bulk values
26
--let $value=(0,0,0,0)
27
--let $loop=600
28
while($loop > 0)
29
{
30
    --let $value=$value,($loop,11,1,1)
31
    dec $loop;
32
}
33

34
--let $insert_sql_prefix=$insert_sql_prefix$value
35

36

37
--let $loop=100
38
while($loop > 0)
39
{
40
  eval insert into test_bulk values ($loop,1,1,1), ($loop,2,1,1), ($loop,3,1,1), ($loop,4,1,1), ($loop,5,1,1), ($loop,6,1,1), ($loop,7,1,1), ($loop,8,1,1), ($loop,9,1,1), ($loop,10,1,1);
41
  eval insert into test_bulk_prefix values ($loop,1,1,1), ($loop,2,2,2), ($loop,3,3,3), ($loop,4,4,4), ($loop,5,5,5), ($loop,6,6,6), ($loop,7,7,7), ($loop,8,8,8), ($loop,9,9,9), ($loop,10,10,10);
42
  dec $loop;
43
}
44

45
--let $loop=9
46
# memtable values duplicate
47
--error 1062
48
eval insert into test_bulk values ($loop,$loop,1,1);
49
--error 1062
50
eval insert into test_bulk values ($loop,11,1,1),($loop,$loop,1,1);
51
--error 1062
52
eval insert into test_bulk values ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop,1,1);
53
# prefix exist with memtable duplicate
54
--error 1062
55
eval insert into test_bulk_prefix values ($loop, $loop, $loop, 1),($loop, $loop, $loop, 2),($loop, $loop, $loop, 3),($loop, $loop, $loop, 4),($loop, $loop, $loop, 5),($loop, $loop, $loop, 6),($loop, $loop, $loop, 7),($loop, $loop, $loop, 8),($loop, $loop, $loop, 9),($loop, $loop, $loop, 10);
56

57
# major freeze for baseline data
58
alter system major freeze;
59
--source mysql_test/include/wait_daily_merge.inc
60

61
# bulk insert with error
62
--let $loop=5
63
while($loop > 0)
64
{
65
  # values duplicate
66
  --error 1062
67
  eval insert into test_bulk values ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1);
68
  # major values duplicate
69
  --error 1062
70
  eval insert into test_bulk values ($loop,$loop,1,1);
71
  --error 1062
72
  eval insert into test_bulk values ($loop,11,1,1),($loop,$loop,1,1);
73
  --error 1062
74
  eval insert into test_bulk values ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop,1,1);
75
  # prefix exist with duplicate
76
  --error 1062
77
  eval insert into test_bulk_prefix values ($loop, $loop, $loop, 1),($loop, $loop, $loop, 2),($loop, $loop, $loop, 3),($loop, $loop, $loop, 4),($loop, $loop, $loop, 5),($loop, $loop, $loop, 6),($loop, $loop, $loop, 7),($loop, $loop, $loop, 8),($loop, $loop, $loop, 9),($loop, $loop, $loop, 10);
78
  dec $loop;
79
}
80

81
--let $insert_sql=$insert_sql_prefix,(50,1,1,1)
82
--disable_query_log
83
--error 1062
84
eval $insert_sql;
85
--enable_query_log
86

87
# prepare data for minor merge
88
--let $loop=150
89
while($loop > 130)
90
{
91
  eval insert into test_bulk values ($loop,1,1,1), ($loop,2,1,1), ($loop,3,1,1), ($loop,4,1,1), ($loop,5,1,1), ($loop,6,1,1), ($loop,7,1,1), ($loop,8,1,1), ($loop,9,1,1), ($loop,10,1,1);
92
  # prefix not exist
93
  eval insert into test_bulk_prefix values ($loop, $loop, $loop, 1),($loop, $loop, $loop, 2),($loop, $loop, $loop, 3),($loop, $loop, $loop, 4),($loop, $loop, $loop, 5),($loop, $loop, $loop, 6),($loop, $loop, $loop, 7),($loop, $loop, $loop, 8),($loop, $loop, $loop, 9),($loop, $loop, $loop, 10);
94
  dec $loop;
95
}
96

97
set ob_query_timeout=100000000;
98
alter system minor freeze;
99
--source mysql_test/include/wait_minor_merge.inc
100

101
# bulk insert with error
102
--let $loop=140
103
--let $loop2=10
104
while($loop > 135)
105
{
106
  # values duplicate
107
  --error 1062
108
  eval insert into test_bulk values ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1);
109
  # minor values duplicate
110
  --error 1062
111
  eval insert into test_bulk values ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop2,1,1);
112
  # major values duplicate
113
  --error 1062
114
  eval insert into test_bulk values ($loop2,11,1,1), ($loop2,12,1,1), ($loop2,13,1,1), ($loop2,14,1,1), ($loop2,15,1,1), ($loop2,$loop2,1,1), ($loop2,17,1,1), ($loop2,18,1,1), ($loop2,19,1,1), ($loop2,20,1,1);
115
  # prefix exist with duplicate
116
  --error 1062
117
  eval insert into test_bulk_prefix values ($loop, $loop, $loop, 1),($loop, $loop, $loop, 2),($loop, $loop, $loop, 3),($loop, $loop, $loop, 4),($loop, $loop, $loop, 5),($loop, $loop, $loop, 6),($loop, $loop, $loop, 7),($loop, $loop, $loop, 8),($loop, $loop, $loop, 9),($loop, $loop, $loop, 10);
118
  dec $loop;
119
  dec $loop2;
120
}
121

122
--let $insert_sql=$insert_sql_prefix,(140,1,1,1)
123
--disable_query_log
124
--error 1062
125
eval $insert_sql;
126
--enable_query_log
127

128
# prepare data for minor merge
129
--let $loop=200
130
while($loop > 180)
131
{
132
  eval insert into test_bulk values ($loop,1,1,1), ($loop,2,1,1), ($loop,3,1,1), ($loop,4,1,1), ($loop,5,1,1), ($loop,6,1,1), ($loop,7,1,1), ($loop,8,1,1), ($loop,9,1,1), ($loop,10,1,1);
133
  # prefix exist without duplicate
134
  eval insert into test_bulk_prefix values ($loop, $loop, $loop, 1),($loop, $loop, $loop, 2),($loop, $loop, $loop, 3),($loop, $loop, $loop, 4),($loop, $loop, $loop, 5),($loop, $loop, $loop, 6),($loop, $loop, $loop, 7),($loop, $loop, $loop, 8),($loop, $loop, $loop, 9),($loop, $loop, $loop, 10);
135
  dec $loop;
136
}
137

138
# bulk insert with error
139
--let $loop=190
140
--let $loop2=140
141
--let $loop3=50
142
--let $loop4=10
143
while($loop > 185)
144
{
145
  # values duplicate
146
  --error 1062
147
  eval insert into test_bulk values ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1);
148
  # memtable values duplicate
149
  --error 1062
150
  eval insert into test_bulk values ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop4,1,1);
151
  # minor values duplicate
152
  --error 1062
153
  eval insert into test_bulk values ($loop2,11,1,1), ($loop2,12,1,1), ($loop2,13,1,1), ($loop2,$loop4,1,1), ($loop2,15,1,1), ($loop2,16,1,1), ($loop2,17,1,1), ($loop2,18,1,1), ($loop2,19,1,1), ($loop2,20,1,1);
154
  # major values duplicate
155
  --error 1062
156
  eval insert into test_bulk values ($loop3,11,1,1), ($loop3,12,1,1), ($loop3,13,1,1), ($loop3,14,1,1), ($loop3,15,1,1), ($loop3,$loop3,1,1), ($loop3,17,1,1), ($loop3,$loop4,1,1), ($loop3,19,1,1), ($loop3,20,1,1);
157
  dec $loop;
158
  dec $loop2;
159
  dec $loop3;
160
  dec $loop4;
161
}
162

163
--let $insert_sql=$insert_sql_prefix,(190,1,1,1)
164
--disable_query_log
165
--error 1062
166
eval $insert_sql;
167
--enable_query_log
168

169
# delete some data
170
delete from test_bulk where a = 170;
171
delete from test_bulk where a = 90;
172

173
# bulk insert with error
174
--let $loop=185
175
--let $loop2=140
176
--let $loop3=50
177
--let $loop4=10
178
while($loop > 180)
179
{
180
  # values duplicate
181
  --error 1062
182
  eval insert into test_bulk values ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1), ($loop,$loop,1,1);
183
  # memtable values duplicate
184
  --error 1062
185
  eval insert into test_bulk values (90,1,1,1), (90,2,1,1), (90,3,1,1), (90,4,1,1), (90,5,1,1), (90,6,1,1), (90,7,1,1), (90,8,1,1), (90,9,1,1), (90,10,1,1), ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop4,1,1);
186
  --error 1062
187
  eval insert into test_bulk values (170,1,1,1), (170,2,1,1), (170,3,1,1), (170,4,1,1), (170,5,1,1), (170,6,1,1), (170,7,1,1), (170,8,1,1), (170,9,1,1), (170,10,1,1), ($loop,11,1,1), ($loop,12,1,1), ($loop,13,1,1), ($loop,14,1,1), ($loop,15,1,1), ($loop,16,1,1), ($loop,17,1,1), ($loop,18,1,1), ($loop,19,1,1), ($loop,$loop4,1,1);
188
  # minor values duplicate
189
  --error 1062
190
  eval insert into test_bulk values (90,1,1,1), (90,2,1,1), (90,3,1,1), (90,4,1,1), (90,5,1,1), (90,6,1,1), (90,7,1,1), (90,8,1,1), (90,9,1,1), (90,10,1,1), ($loop2,11,1,1), ($loop2,12,1,1), ($loop2,13,1,1), ($loop2,$loop4,1,1), ($loop2,15,1,1), ($loop2,16,1,1), ($loop2,17,1,1), ($loop2,18,1,1), ($loop2,19,1,1), ($loop2,20,1,1);
191
  --error 1062
192
  eval insert into test_bulk values (170,1,1,1), (170,2,1,1), (170,3,1,1), (170,4,1,1), (170,5,1,1), (170,6,1,1), (170,7,1,1), (170,8,1,1), (170,9,1,1), (170,10,1,1), ($loop2,11,1,1), ($loop2,12,1,1), ($loop2,13,1,1), ($loop2,$loop4,1,1), ($loop2,15,1,1), ($loop2,16,1,1), ($loop2,17,1,1), ($loop2,18,1,1), ($loop2,19,1,1), ($loop2,20,1,1);
193
  # major values duplicate
194
  --error 1062
195
  eval insert into test_bulk values (90,1,1,1), (90,2,1,1), (90,3,1,1), (90,4,1,1), (90,5,1,1), (90,6,1,1), (90,7,1,1), (90,8,1,1), (90,9,1,1), (90,10,1,1), ($loop3,11,1,1), ($loop3,12,1,1), ($loop3,13,1,1), ($loop3,14,1,1), ($loop3,15,1,1), ($loop3,$loop3,1,1), ($loop3,17,1,1), ($loop3,$loop4,1,1), ($loop3,19,1,1), ($loop3,20,1,1);
196
  --error 1062
197
  eval insert into test_bulk values (170,1,1,1), (170,2,1,1), (170,3,1,1), (170,4,1,1), (170,5,1,1), (170,6,1,1), (170,7,1,1), (170,8,1,1), (170,9,1,1), (170,10,1,1), ($loop3,11,1,1), ($loop3,12,1,1), ($loop3,13,1,1), ($loop3,14,1,1), ($loop3,15,1,1), ($loop3,$loop3,1,1), ($loop3,17,1,1), ($loop3,$loop4,1,1), ($loop3,19,1,1), ($loop3,20,1,1);
198
  dec $loop;
199
  dec $loop2;
200
  dec $loop3;
201
  dec $loop4;
202
}
203

204
--let $insert_sql=$insert_sql_prefix,(90,1,1,1),(90,2,1,1),(90,3,1,1),(90,4,1,1),(90,5,1,1),(170,6,1,1),(170,7,1,1),(170,8,1,1),(170,9,1,1),(170,10,1,1),(150,1,1,1)
205
--disable_query_log
206
--error 1062
207
eval $insert_sql;
208
--enable_query_log
209

210
--disable_warnings
211
drop table if exists t;
212
--enable_warnings
213

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.