Coverage report: /home/ellis/comp/core/ffi/rocksdb/writebatch.lisp

KindCoveredAll%
expression081 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; writebatch.lisp --- RocksDB Writebatches
2
 
3
 ;; RocksDB Writebatch Lisp FFI
4
 
5
 ;;; Commentary:
6
 
7
 ;; ref: https://github.com/facebook/rocksdb/wiki/Write-Batch-With-Index
8
 
9
 ;;; Code:
10
 (in-package :rocksdb)
11
 
12
 ;;; Types
13
 (define-alien-type rocksdb-put-function
14
   (function void
15
             (* t)
16
             (array unsigned-char)
17
             size-t
18
             (array unsigned-char)
19
             size-t))
20
 
21
 (define-alien-type rocksdb-delete-function
22
   (function void
23
             (* t)
24
             (array unsigned-char)
25
             size-t))
26
 
27
 (define-alien-type rocksdb-put-cf-function
28
   (function void
29
             (* t)
30
             (unsigned 32)
31
             (array unsigned-char)
32
             size-t
33
             (array unsigned-char)
34
             size-t))
35
 
36
 (define-alien-type rocksdb-delete-cf-function
37
   (function void
38
             (* t)
39
             (unsigned 32)
40
             (array unsigned-char)
41
             size-t))
42
             
43
 (define-alien-type rocksdb-merge-cf-function
44
   (function void
45
             (* t)
46
             (unsigned 32)
47
             (array unsigned-char)
48
             size-t
49
             (array unsigned-char)
50
             size-t))
51
 
52
 (define-alien-type rocksdb-get-ts-size-function
53
   (function size-t
54
             (* t)
55
             (unsigned 32)))
56
 
57
 ;;; Alien Functions
58
 (defar rocksdb-writebatch-create (* rocksdb-writebatch))
59
 (defar rocksdb-writebatch-create-from (* rocksdb-writebatch)
60
   (rep c-string)
61
   (size size-t))
62
 
63
 (defar rocksdb-writebatch-create-with-params (* rocksdb-writebatch)
64
   (reserved-bytes size-t)
65
   (max-bytes size-t)
66
   (protection-bytes-per-key size-t)
67
   (default-cf-ts-sz size-t))
68
 
69
 (defar rocksdb-writebatch-destroy void (batch (* rocksdb-writebatch)))
70
 
71
 (defar rocksdb-writebatch-clear void (b (* rocksdb-writebatch)))
72
 (defar rocksdb-writebatch-count int (b (* rocksdb-writebatch)))
73
 
74
 (defar rocksdb-writebatch-put-log-data void
75
   (batch (* rocksdb-writebatch))
76
   (blob (array unsigned-char))
77
   (len size-t))
78
 
79
 (defar rocksdb-writebatch-iterate void
80
   (batch (* rocksdb-writebatch))
81
   (state (* t))
82
   (put (* rocksdb-put-function))
83
   (deleted (* rocksdb-delete-function)))`
84
 
85
 (defar rocksdb-writebatch-iterate-cf void
86
   (batch (* rocksdb-writebatch))
87
   (state (* t))
88
   (put-cf (* rocksdb-put-cf-function))
89
   (deleted-cf (* rocksdb-delete-cf-function))
90
   (merge-cf (* rocksdb-merge-cf-function)))
91
 
92
 (defar rocksdb-writebatch-data (array unsigned-char)
93
   (batch (* rocksdb-writebatch))
94
   (size (* size-t)))
95
 
96
 (defar rocksdb-writebatch-set-savepoint void
97
   (batch (* rocksdb-writebatch)))
98
 
99
 (def-with-errptr rocksdb-writebatch-rollback-to-savepoint void
100
   (batch (* rocksdb-writebatch)))
101
 
102
 (def-with-errptr rocksdb-writebatch-pop-savepoint void
103
   (batch (* rocksdb-writebatch)))
104
 
105
 (def-with-errptr rocksdb-writebatch-update-timestamps void
106
   (batch (* rocksdb-writebatch))
107
   (ts (array unsigned-char))
108
   (tslen size-t)
109
   (state (* t))
110
   (get-ts-size (* rocksdb-get-ts-size-function)))
111
 
112
 ;; put
113
 (defar rocksdb-writebatch-put void
114
   (batch (* rocksdb-writebatch))
115
   (key (array unsigned-char))
116
   (klen size-t)
117
   (val (array unsigned-char))
118
   (vlen size-t))
119
 
120
 (defar rocksdb-writebatch-put-cf void
121
   (batch (* rocksdb-writebatch))
122
   (cf (* rocksdb-column-family-handle))
123
   (key (array unsigned-char))
124
   (klen size-t)
125
   (val (array unsigned-char))
126
   (vlen size-t))
127
 
128
 (defar rocksdb-writebatch-put-cf-with-ts void
129
   (batch (* rocksdb-writebatch))
130
   (cf (* rocksdb-column-family-handle))
131
   (key (array unsigned-char))
132
   (klen size-t)
133
   (ts (array unsigned-char))
134
   (tslen size-t)
135
   (val (array unsigned-char))
136
   (vlen size-t))
137
 
138
 (defar rocksdb-writebatch-putv void
139
   (batch (* rocksdb-writebatch))
140
   (num-keys int)
141
   (keys-list (array (array unsigned-char)))
142
   (keys-sizes (array size-t))
143
   (num-values int)
144
   (values-list (array (array unsigned-char)))
145
   (values-list-sizes (array size-t)))
146
 
147
 (defar rocksdb-writebatch-putv-cf void
148
   (batch (* rocksdb-writebatch))
149
   (cf (* rocksdb-column-family-handle))
150
   (num-keys int)
151
   (keys-list (array (array unsigned-char)))
152
   (keys-sizes (array size-t))
153
   (num-values int)
154
   (values-list (array (array unsigned-char)))
155
   (values-list-sizes (array size-t)))
156
 
157
 ;; delete
158
 (defar rocksdb-writebatch-delete void
159
   (batch (* rocksdb-writebatch))
160
   (key (array unsigned-char))
161
   (klen size-t))
162
 
163
 (defar rocksdb-writebatch-singledelete void
164
   (batch (* rocksdb-writebatch))
165
   (key (array unsigned-char))
166
   (klen size-t))
167
 
168
 (defar rocksdb-writebatch-delete-cf void
169
   (batch (* rocksdb-writebatch))
170
   (cf (* rocksdb-column-family-handle))
171
   (key (array unsigned-char))
172
   (klen size-t))
173
 
174
 (defar rocksdb-writebatch-singledelete-cf void
175
   (batch (* rocksdb-writebatch))
176
   (cf (* rocksdb-column-family-handle))
177
   (key (array unsigned-char))
178
   (klen size-t))
179
 
180
 (defar rocksdb-writebatch-singledelete-cf-with-ts void
181
   (batch (* rocksdb-writebatch))
182
   (cf (* rocksdb-column-family-handle))
183
   (key (array unsigned-char))
184
   (klen size-t)
185
   (ts (array unsigned-char))
186
   (tslen size-t))
187
 
188
 (defar rocksdb-writebatch-delete-cf-with-ts void
189
   (batch (* rocksdb-writebatch))
190
   (cf (* rocksdb-column-family-handle))
191
   (key (array unsigned-char))
192
   (klen size-t)
193
   (ts (array unsigned-char))
194
   (tslen size-t))
195
 
196
 (defar rocksdb-writebatch-deletev void
197
   (batch (* rocksdb-writebatch))
198
   (num-keys int)
199
   (keys-list (array (array unsigned-char)))
200
   (keys-list-sizes (array size-t)))
201
 
202
 (defar rocksdb-writebatch-deletev-cf void
203
   (batch (* rocksdb-writebatch))
204
   (cf (* rocksdb-column-family-handle))
205
   (num-keys int)
206
   (keys-list (array (array unsigned-char)))
207
   (keys-list-sizes (array size-t)))
208
 
209
 (defar rocksdb-writebatch-delete-range void
210
   (batch (* rocksdb-writebatch))
211
   (start-key (array unsigned-char))
212
   (start-key-len size-t)
213
   (end-key (array unsigned-char))
214
   (end-key-len size-t))
215
 
216
 (defar rocksdb-writebatch-delete-range-cf void
217
   (batch (* rocksdb-writebatch))
218
   (cf (* rocksdb-column-family-handle))
219
   (start-key (array unsigned-char))
220
   (start-key-len size-t)
221
   (end-key (array unsigned-char))
222
   (end-key-len size-t))
223
 
224
 (defar rocksdb-writebatch-delete-rangev void
225
   (batch (* rocksdb-writebatch))
226
   (num-keys int)
227
   (start-keys-list (array (array unsigned-char)))
228
   (start-keys-list-sizes (array size-t))
229
   (end-keys-list (array (array unsigned-char)))
230
   (end-keys-list-sizes (array size-t)))
231
 
232
 (defar rocksdb-writebatch-delete-rangev-cf void
233
   (batch (* rocksdb-writebatch))
234
   (cf (* rocksdb-column-family-handle))
235
   (num-keys int)
236
   (start-keys-list (array (array unsigned-char)))
237
   (start-keys-list-sizes (array size-t))
238
   (end-keys-list (array (array unsigned-char)))
239
   (end-keys-list-sizes (array size-t)))
240
 
241
 ;; merge
242
 (defar rocksdb-writebatch-merge void
243
   (batch (* rocksdb-writebatch))
244
   (key (array unsigned-char))
245
   (klen size-t)
246
   (val (array unsigned-char))
247
   (vlen size-t))
248
 
249
 (defar rocksdb-writebatch-merge-cf void
250
   (batch (* rocksdb-writebatch))
251
   (cf (* rocksdb-column-family-handle))
252
   (key (array unsigned-char))
253
   (klen size-t)
254
   (val (array unsigned-char))
255
   (vlen size-t))
256
 
257
 (defar rocksdb-writebatch-mergev void
258
   (batch (* rocksdb-writebatch))
259
   (num-keys int)
260
   (keys-list (array (array unsigned-char)))
261
   (keys-list-sizes (array size-t))
262
   (num-values int)
263
   (values-list (array (array unsigned-char)))
264
   (values-list-sizes (array size-t)))
265
 
266
 (defar rocksdb-writebatch-mergev-cf void
267
   (batch (* rocksdb-writebatch))
268
   (cf (* rocksdb-column-family-handle))
269
   (num-keys int)
270
   (keys-list (array (array unsigned-char)))
271
   (keys-list-sizes (array size-t))
272
   (num-values int)
273
   (values-list (array (array unsigned-char)))
274
   (values-list-sizes (array size-t)))
275
   
276
 ;;; with-index (wi)
277
 (defar rocksdb-writebatch-wi-create (* rocksdb-writebatch-wi)
278
   (reserved-bytes size-t)
279
   (overwrite-keys unsigned-char))
280
 
281
 (defar rocksdb-writebatch-wi-create-from (* rocksdb-writebatch-wi)
282
   (rep (array unsigned-char))
283
   (size size-t))
284
 
285
 (defar rocksdb-writebatch-wi-create-with-params (* rocksdb-writebatch-wi)
286
   (backup-index-comparator (* rocksdb-comparator))
287
   (reserved-bytes size-t)
288
   (overwrite-key unsigned-char)
289
   (max-bytes size-t)
290
   (protection-bytes-per-key size-t))
291
 
292
 (defar rocksdb-writebatch-wi-destroy void
293
   (batch (* rocksdb-writebatch-wi)))
294
 
295
 (defar rocksdb-writebatch-wi-clear void
296
   (batch (* rocksdb-writebatch-wi)))
297
 
298
 (defar rocksdb-writebatch-wi-count int
299
   (batch (* rocksdb-writebatch-wi)))
300
 
301
 (defar rocksdb-writebatch-wi-put-log-data void
302
   (batch (* rocksdb-writebatch-wi))
303
   (blob (array unsigned-char))
304
   (len size-t))
305
 
306
 (defar rocksdb-writebatch-wi-iterate void
307
   (batch (* rocksdb-writebatch-wi))
308
   (state (* t))
309
   (put (* rocksdb-put-function))
310
   (deleted (* rocksdb-delete-function)))
311
 
312
 (defar rocksdb-writebatch-wi-data (array unsigned-char)
313
   (batch (* rocksdb-writebatch-wi))
314
   (size (* size-t)))
315
 
316
 (defar rocksdb-writebatch-wi-set-save-point void
317
   (batch (* rocksdb-writebatch-wi)))
318
 
319
 (def-with-errptr rocksdb-writebatch-wi-rollback-to-save-point void
320
   (batch (* rocksdb-writebatch-wi)))
321
 
322
 (def-with-errptr rocksdb-writebatch-wi-get-from-batch (* unsigned-char)
323
   (batch (* rocksdb-writebatch-wi))
324
   (opts (* rocksdb-options))
325
   (key (array unsigned-char))
326
   (keylen size-t)
327
   (vallen (* size-t)))
328
 
329
 (def-with-errptr rocksdb-writebatch-wi-get-from-batch-cf (* unsigned-char)
330
   (batch (* rocksdb-writebatch-wi))
331
   (cf (* rocksdb-column-family-handle))
332
   (opts (* rocksdb-options))
333
   (key (array unsigned-char))
334
   (keylen size-t)
335
   (vallen (* size-t)))
336
 
337
 (def-with-errptr rocksdb-writebatch-wi-get-from-batch-and-db (* unsigned-char)
338
   (batch (* rocksdb-writebatch-wi))
339
   (db (* rocksdb))
340
   (readopts (* rocksdb-readoptions))
341
   (key (array unsigned-char))
342
   (keylen size-t)
343
   (vallen (* size-t)))
344
 
345
 (def-with-errptr rocksdb-writebatch-wi-get-from-batch-and-db-cf (* unsigned-char)
346
   (batch (* rocksdb-writebatch-wi))
347
   (db (* rocksdb))
348
   (readopts (* rocksdb-readoptions))
349
   (cf (* rocksdb-column-family-handle))
350
   (key (array unsigned-char))
351
   (keylen size-t)
352
   (vallen (* size-t)))
353
 
354
 (def-with-errptr rocksdb-write-writebatch-wi void
355
   (db (* rocksdb))
356
   (wopts (* rocksdb-writeoptions))
357
   (wbwi (* rocksdb-writebatch-wi)))
358
 
359
 (defar rocksdb-writebatch-wi-create-iterator-with-base (* rocksdb-iterator)
360
   (wbwi (* rocksdb-writebatch-wi))
361
   (base-iterator (* rocksdb-iterator)))
362
 
363
 (defar rocksdb-writebatch-wi-create-iterator-with-base-readopts (* rocksdb-iterator)
364
   (wbwi (* rocksdb-writebatch-wi))
365
   (base-iterator (* rocksdb-iterator))
366
   (options (* rocksdb-readoptions)))
367
 
368
 (defar rocksdb-writebatch-wi-create-iterator-with-base-cf (* rocksdb-iterator)
369
   (wbwi (* rocksdb-writebatch-wi))
370
   (base-iterator (* rocksdb-iterator))
371
   (cf (* rocksdb-column-family-handle)))
372
 
373
 (defar rocksdb-writebatch-wi-create-iterator-with-base-cf-readopts (* rocksdb-iterator)
374
   (wbwi (* rocksdb-writebatch-wi))
375
   (base-iterator (* rocksdb-iterator))
376
   (cf (* rocksdb-column-family-handle))
377
   (options (* rocksdb-readoptions)))
378
 
379
 (def-with-errptr rocksdb-writebatch-wi-update-timestamps void
380
   (wbwi (* rocksdb-writebatch-wi))
381
   (ts (array unsigned-char))
382
   (tslen size-t)
383
   (state (* t))
384
   (get-ts-size (* rocksdb-get-ts-size-function)))
385
 
386
 (defar rocksdb-writebatch-wi-put void
387
   (batch (* rocksdb-writebatch-wi))
388
   (key (array unsigned-char))
389
   (klen size-t)
390
   (val (array unsigned-char))
391
   (vlen size-t))
392
 
393
 (defar rocksdb-writebatch-wi-put-cf void
394
   (batch (* rocksdb-writebatch-wi))
395
   (cf (* rocksdb-column-family-handle))
396
   (key (* unsigned-char))
397
   (klen size-t)
398
   (val (* unsigned-char))
399
   (vlen size-t))
400
 
401
 (defar rocksdb-writebatch-wi-putv void
402
   (batch (* rocksdb-writebatch-wi))
403
   (num-keys int)
404
   (keys-list (* (* unsigned-char)))
405
   (keys-list-sizes (array size-t))
406
   (num-values int)
407
   (values-list (* (* unsigned-char)))
408
   (values-list-sizes (array size-t)))
409
 
410
 (defar rocksdb-writebatch-wi-putv-cf void
411
   (batch (* rocksdb-writebatch-wi))
412
   (cf (* rocksdb-column-family-handle))
413
   (num-keys int)
414
   (keys-list (array (array unsigned-char)))
415
   (keys-list-sizes (array size-t))
416
   (num-values int)
417
   (values-list (array (array unsigned-char)))
418
   (values-list-sizes (array size-t)))
419
 
420
 (defar rocksdb-writebatch-wi-merge void
421
   (batch (* rocksdb-writebatch-wi))
422
   (key (array unsigned-char))
423
   (klen size-t)
424
   (val (array unsigned-char))
425
   (vlen size-t))
426
 
427
 (defar rocksdb-writebatch-wi-merge-cf void
428
   (batch (* rocksdb-writebatch-wi))
429
   (cf (* rocksdb-column-family-handle))
430
   (key (array unsigned-char))
431
   (klen size-t)
432
   (val (array unsigned-char))
433
   (vlen size-t))
434
 
435
 (defar rocksdb-writebatch-wi-mergev void
436
   (batch (* rocksdb-writebatch-wi))
437
   (num-keys int)
438
   (keys-list (array (array unsigned-char)))
439
   (keys-list-sizes (array size-t))
440
   (num-values int)
441
   (values-list (array (array unsigned-char)))
442
   (values-list-sizes (array size-t)))
443
 
444
 (defar rocksdb-writebatch-wi-mergev-cf void
445
   (batch (* rocksdb-writebatch-wi))
446
   (cf (* rocksdb-column-family-handle))
447
   (num-keys int)
448
   (keys-list (array (array unsigned-char)))
449
   (keys-list-sizes (array size-t))
450
   (num-values int)
451
   (values-list (array (array unsigned-char)))
452
   (values-list-sizes (array size-t)))
453
 
454
 (defar rocksdb-writebatch-wi-delete void
455
   (batch (* rocksdb-writebatch-wi))
456
   (key (array unsigned-char))
457
   (klen size-t))
458
 
459
 (defar rocksdb-writebatch-wi-singledelete void
460
   (batch (* rocksdb-writebatch-wi))
461
   (key (array unsigned-char))
462
   (klen size-t))
463
 
464
 (defar rocksdb-writebatch-wi-delete-cf void
465
   (batch (* rocksdb-writebatch-wi))
466
   (cf (* rocksdb-column-family-handle))
467
   (key (array unsigned-char))
468
   (klen size-t))
469
 
470
 (defar rocksdb-writebatch-wi-singledelete-cf void
471
   (batch (* rocksdb-writebatch-wi))
472
   (cf (* rocksdb-column-family-handle))
473
   (key (array unsigned-char))
474
   (klen size-t))
475
 
476
 (defar rocksdb-writebatch-wi-deletev void
477
   (batch (* rocksdb-writebatch-wi))
478
   (num-keys int)
479
   (keys-list (array (array unsigned-char)))
480
   (keys-list-sizes (array size-t)))
481
 
482
 (defar rocksdb-writebatch-wi-deletev-cf void
483
   (batch (* rocksdb-writebatch-wi))
484
   (cf (* rocksdb-column-family-handle))
485
   (num-keys int)
486
   (keys-list (array (array unsigned-char)))
487
   (keys-list-sizes (array size-t)))
488
 
489
 ;;; DO NOT USE
490
 (defar rocksdb-writebatch-wi-delete-range void
491
   (batch (* rocksdb-writebatch-wi))
492
   (start-key (array unsigned-char))
493
   (start-key-len size-t)
494
   (end-key (array unsigned-char))
495
   (end-key-len size-t))
496
 
497
 (defar rocksdb-writebatch-wi-delete-range-cf void
498
   (batch (* rocksdb-writebatch-wi))
499
   (cf (* rocksdb-column-family-handle))
500
   (start-key (array unsigned-char))
501
   (start-key-len size-t)
502
   (end-key (array unsigned-char))
503
   (end-key-len size-t))
504
 
505
 (defar rocksdb-writebatch-wi-delete-rangev void
506
   (batch (* rocksdb-writebatch-wi))
507
   (start-keys-list (array (array unsigned-char)))
508
   (start-keys-list-sizes (array size-t))
509
   (end-keys-list (array (array unsigned-char)))
510
   (end-keys-list-sizes (array size-t)))
511
 
512
 (defar rocksdb-writebatch-wi-delete-rangev-cf void
513
   (batch (* rocksdb-writebatch-wi))
514
   (cf (* rocksdb-column-family-handle))
515
   (start-keys-list (array (array unsigned-char)))
516
   (start-keys-list-sizes (array size-t))
517
   (end-keys-list (array (array unsigned-char)))
518
   (end-keys-list-sizes (array size-t)))