@@ -175,6 +175,28 @@ local simple_operation_cases = {
175
175
},
176
176
op = ' insert' ,
177
177
},
178
+ insert_many = {
179
+ func = ' crud.insert_many' ,
180
+ args = {
181
+ space_name ,
182
+ {
183
+ { 21 , box .NULL , ' Ivan' , ' Ivanov' , 20 , ' Moscow' },
184
+ { 31 , box .NULL , ' Oleg' , ' Petrov' , 25 , ' Moscow' },
185
+ }
186
+ },
187
+ op = ' insert_many' ,
188
+ },
189
+ insert_object_many = {
190
+ func = ' crud.insert_object_many' ,
191
+ args = {
192
+ space_name ,
193
+ {
194
+ { id = 22 , name = ' Ivan' , last_name = ' Ivanov' , age = 20 , city = ' Moscow' },
195
+ { id = 32 , name = ' Oleg' , last_name = ' Petrov' , age = 25 , city = ' Moscow' },
196
+ }
197
+ },
198
+ op = ' insert_many' ,
199
+ },
178
200
get = {
179
201
func = ' crud.get' ,
180
202
args = { space_name , { 12 } },
@@ -206,6 +228,28 @@ local simple_operation_cases = {
206
228
},
207
229
op = ' replace' ,
208
230
},
231
+ replace_many = {
232
+ func = ' crud.replace_many' ,
233
+ args = {
234
+ space_name ,
235
+ {
236
+ { 21 , box .NULL , ' Peter' , ' Ivanov' , 40 , ' Moscow' },
237
+ { 31 , box .NULL , ' Ivan' , ' Petrov' , 35 , ' Moscow' },
238
+ }
239
+ },
240
+ op = ' replace_many' ,
241
+ },
242
+ replace_object_many = {
243
+ func = ' crud.replace_object_many' ,
244
+ args = {
245
+ space_name ,
246
+ {
247
+ { id = 22 , name = ' Peter' , last_name = ' Ivanov' , age = 40 , city = ' Moscow' },
248
+ { id = 32 , name = ' Ivan' , last_name = ' Petrov' , age = 35 , city = ' Moscow' },
249
+ }
250
+ },
251
+ op = ' replace_many' ,
252
+ },
209
253
update = {
210
254
prepare = function (g )
211
255
helpers .insert_objects (g , space_name , {{
@@ -235,6 +279,36 @@ local simple_operation_cases = {
235
279
},
236
280
op = ' upsert' ,
237
281
},
282
+ upsert_many = {
283
+ func = ' crud.upsert_many' ,
284
+ args = {
285
+ space_name ,
286
+ {
287
+ { 26 , box .NULL , ' Ivan' , ' Ivanov' , 20 , ' Moscow' },
288
+ { 36 , box .NULL , ' Oleg' , ' Petrov' , 25 , ' Moscow' },
289
+ },
290
+ {
291
+ {{' +' , ' age' , 1 }},
292
+ {{' +' , ' age' , 1 }},
293
+ },
294
+ },
295
+ op = ' upsert_many' ,
296
+ },
297
+ upsert_object_many = {
298
+ func = ' crud.upsert_object_many' ,
299
+ args = {
300
+ space_name ,
301
+ {
302
+ { id = 27 , name = ' Ivan' , last_name = ' Ivanov' , age = 20 , city = ' Moscow' },
303
+ { id = 37 , name = ' Oleg' , last_name = ' Petrov' , age = 25 , city = ' Moscow' },
304
+ },
305
+ {
306
+ {{' +' , ' age' , 1 }},
307
+ {{' +' , ' age' , 1 }}
308
+ },
309
+ },
310
+ op = ' upsert_many' ,
311
+ },
238
312
delete = {
239
313
func = ' crud.delete' ,
240
314
args = { space_name , { 12 } },
@@ -277,6 +351,18 @@ local simple_operation_cases = {
277
351
op = ' insert' ,
278
352
expect_error = true ,
279
353
},
354
+ insert_many_error = {
355
+ func = ' crud.insert_many' ,
356
+ args = { space_name , {{ ' id' }} },
357
+ op = ' insert_many' ,
358
+ expect_error = true ,
359
+ },
360
+ insert_object_many_error = {
361
+ func = ' crud.insert_object_many' ,
362
+ args = { space_name , {{ ' id' }} },
363
+ op = ' insert_many' ,
364
+ expect_error = true ,
365
+ },
280
366
get_error = {
281
367
func = ' crud.get' ,
282
368
args = { space_name , { ' id' } },
@@ -308,6 +394,18 @@ local simple_operation_cases = {
308
394
op = ' replace' ,
309
395
expect_error = true ,
310
396
},
397
+ replace_many_error = {
398
+ func = ' crud.replace_many' ,
399
+ args = { space_name , {{ ' id' }} },
400
+ op = ' replace_many' ,
401
+ expect_error = true ,
402
+ },
403
+ replace_object_many_error = {
404
+ func = ' crud.replace_object_many' ,
405
+ args = { space_name , {{ ' id' }} },
406
+ op = ' replace_many' ,
407
+ expect_error = true ,
408
+ },
311
409
update_error = {
312
410
func = ' crud.update' ,
313
411
args = { space_name , { ' id' }, {{' +' , ' age' , 1 }} },
@@ -326,6 +424,18 @@ local simple_operation_cases = {
326
424
op = ' upsert' ,
327
425
expect_error = true ,
328
426
},
427
+ upsert_many_error = {
428
+ func = ' crud.upsert_many' ,
429
+ args = { space_name , {{ ' id' }}, {{{' +' , ' age' , 1 }}} },
430
+ op = ' upsert_many' ,
431
+ expect_error = true ,
432
+ },
433
+ upsert_object_many_error = {
434
+ func = ' crud.upsert_object_many' ,
435
+ args = { space_name , {{ ' id' }}, {{{' +' , ' age' , 1 }}} },
436
+ op = ' upsert_many' ,
437
+ expect_error = true ,
438
+ },
329
439
delete_error = {
330
440
func = ' crud.delete' ,
331
441
args = { space_name , { ' id' } },
@@ -800,8 +910,8 @@ local function validate_metrics(g, metrics)
800
910
t .assert_type (stats_sum , ' table' , ' `tnt_crud_stats` summary metrics found' )
801
911
802
912
803
- local expected_operations = { ' insert' , ' get' , ' replace' , ' update' ,
804
- ' upsert' , ' delete' , ' select' , ' truncate' , ' len' , ' count' , ' borders' }
913
+ local expected_operations = { ' insert' , ' insert_many ' , ' get' , ' replace' , ' replace_many ' , ' update' ,
914
+ ' upsert' , ' upsert_many ' , ' delete' , ' select' , ' truncate' , ' len' , ' count' , ' borders' }
805
915
806
916
if g .params .quantiles == true then
807
917
t .assert_items_equals (get_unique_label_values (quantile_stats , ' operation' ), expected_operations ,
0 commit comments