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

KindCoveredAll%
expression0205 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 (in-package :rocksdb)
2
 
3
 ;;; DB
4
 (def-with-errptr rocksdb-open (* rocksdb)
5
   (opt (* rocksdb-options))
6
   (name c-string))
7
 
8
 (def-with-errptr rocksdb-open-and-trim-history (* rocksdb)
9
   (opts (* rocksdb-options))
10
   (name c-string)
11
   (num-cfs int)
12
   (cf-names (* c-string))
13
   (cf-handles (* (* rocksdb-column-family-handle)))
14
   (trim-ts c-string)
15
   (trim-tslen size-t))
16
 
17
 (def-with-errptr rocksdb-open-column-families (* rocksdb)
18
   (options (* rocksdb-options))
19
   (name c-string)
20
   (num-column-families int)
21
   (column-family-names (* (* char)))
22
   (column-family-options (* (* rocksdb-options)))
23
   (column-family-handles (* (* rocksdb-column-family-handle))))
24
 
25
 (def-with-errptr rocksdb-open-column-families-with-ttl (* rocksdb)
26
   (opts (* rocksdb-options))
27
   (name c-string)
28
   (num-cfs int)
29
   (cf-names (* c-string))
30
   (cf-opts (* (* rocksdb-options)))
31
   (cf-handles (* (* rocksdb-column-family-handle)))
32
   (ttls (* int)))
33
 
34
 (def-with-errptr rocksdb-open-for-read-only-column-families (* rocksdb)
35
   (opts (* rocksdb-options))
36
   (name c-string)
37
   (num-cfs int)
38
   (cf-names (* c-string))
39
   (cf-opts (* (* rocksdb-options)))
40
   (cf-handles (* (* rocksdb-column-family-handle)))
41
   (err-if-wal-exists unsigned-char))
42
 
43
 (def-with-errptr rocksdb-open-as-secondary-column-families (* rocksdb)
44
   (opts (* rocksdb-options))
45
   (name c-string)
46
   (secondary-path c-string)
47
   (num-cfs int)
48
   (cf-names (* c-string))
49
   (cf-opts (* (* rocksdb-options)))
50
   (cf-handles (* (* rocksdb-column-family-handle))))
51
 
52
 (def-with-errptr rocksdb-open-as-secondary (* rocksdb)
53
   (opts (* rocksdb-options))
54
   (name c-string)
55
   (secondary-path c-string))
56
 
57
 (defar rocksdb-close void 
58
       (db (* rocksdb)))
59
 
60
 (defar rocksdb-cancel-all-background-work void 
61
   (db (* rocksdb))
62
   (wait boolean))
63
 
64
 (defar rocksdb-disable-manual-compaction void
65
   (db (* rocksdb)))
66
 
67
 (defar rocksdb-enable-manual-compaction void
68
   (db (* rocksdb)))
69
 
70
 (def-with-errptr rocksdb-put 
71
   void 
72
   (db (* rocksdb))
73
   (options (* rocksdb-writeoptions))
74
   (key (* unsigned-char))
75
   (keylen size-t) 
76
   (val (* unsigned-char))
77
   (vallen size-t))
78
 
79
 (def-with-errptr rocksdb-write void
80
   (db (* rocksdb))
81
   (opts (* rocksdb-writeoptions))
82
   (batch (* rocksdb-writebatch)))
83
 
84
 (def-with-errptr rocksdb-get 
85
   (* unsigned-char)
86
   (db (* rocksdb))
87
   (options (* rocksdb-readoptions))
88
   (key (* unsigned-char))
89
   (keylen size-t) 
90
   (vallen (* size-t)))
91
 
92
 (def-with-errptr rocksdb-get-with-ts c-string
93
   (db (* rocksdb))
94
   (opts (* rocksdb-readoptions))
95
   (key c-string)
96
   (keylen size-t)
97
   (vallen (* size-t))
98
   (ts (* c-string))
99
   (tslen (* size-t)))
100
 
101
 (def-with-errptr rocksdb-delete 
102
   void
103
   (db (* rocksdb))
104
   (options (* rocksdb-writeoptions))
105
   (key (* unsigned-char))
106
   (keylen size-t))
107
 
108
 (def-with-errptr rocksdb-merge 
109
   void
110
   (db (* rocksdb))
111
   (opt (* rocksdb-writeoptions))
112
   (key (* unsigned-char))
113
   (keylen size-t)
114
   (val (* unsigned-char))
115
   (vallen size-t))
116
 
117
 (def-with-errptr rocksdb-merge-cf 
118
   void
119
   (db (* rocksdb))
120
   (opt (* rocksdb-writeoptions))
121
   (cf (* rocksdb-column-family-handle))
122
   (key (* unsigned-char))
123
   (keylen size-t)
124
   (val (* unsigned-char))
125
   (vallen size-t))
126
 
127
 (def-with-errptr rocksdb-get-cf 
128
   (* unsigned-char)
129
   (db (* rocksdb))
130
   (opt (* rocksdb-readoptions))
131
   (cf (* rocksdb-column-family-handle))
132
   (key (* unsigned-char))
133
   (keylen size-t)
134
   (vallen (* size-t)))
135
 
136
 (def-with-errptr rocksdb-get-cf-with-ts c-string
137
   (db (* rocksdb))
138
   (opts (* rocksdb-readoptions))
139
   (cf (* rocksdb-column-family-handle))  
140
   (key c-string)
141
   (keylen size-t)
142
   (vallen (* size-t))
143
   (ts (* c-string))
144
   (tslen (* size-t)))
145
 
146
 (defar rocksdb-get-db-identity c-string (db (* rocksdb)) (idlen (* size-t)))
147
 
148
 ;; NOTE 2023-12-19: only the VOID-returning functions in the multi-
149
 ;; family perform parallel IO:
150
 ;; https://github.com/facebook/rocksdb/wiki/MultiGet-Performance
151
 (defar rocksdb-multi-get void
152
   (db (* rocksdb))
153
   (opt (* rocksdb-readoptions))
154
   (num-keys size-t)
155
   (keys-list (* c-string))
156
   (keys-list-sizes (* size-t))
157
   (values-list (* c-string))
158
   (values-list-sizes (* size-t))
159
   (errs (* rocksdb-errptr)))
160
 
161
 (defar rocksdb-multi-get-with-ts void
162
   (db (* rocksdb))
163
   (opt (* rocksdb-readoptions))
164
   (num-keys size-t)
165
   (keys-list (* c-string))
166
   (keys-list-sizes (* size-t))
167
   (values-list (* c-string))
168
   (values-list-sizes (* size-t))
169
   (ts-list (* c-string))
170
   (ts-list-sizes (* size-t))
171
   (errs (* rocksdb-errptr)))
172
 
173
 (defar rocksdb-multi-get-cf void
174
   (db (* rocksdb))
175
   (opt (* rocksdb-readoptions))
176
   (cfs (* (* rocksdb-column-family-handle)))
177
   (num-keys size-t)
178
   (keys-list (* (* (unsigned 8))))
179
   (keys-list-sizes (* size-t))
180
   (values-list (* (* (unsigned 8))))
181
   (values-list-sizes (* size-t))
182
   (errs (* rocksdb-errptr)))
183
 
184
 (defar rocksdb-multi-get-cf-with-ts void
185
   (db (* rocksdb))
186
   (opt (* rocksdb-readoptions))
187
   (cfs (* rocksdb-column-family-handle))
188
   (num-keys size-t)
189
   (keys-list (* c-string))
190
   (keys-list-sizes (* size-t))
191
   (values-list (* c-string))
192
   (values-list-sizes (* size-t))
193
   (ts-list (* c-string))
194
   (ts-list-sizes (* size-t))
195
   (errs (* rocksdb-errptr)))
196
 
197
 (defar rocksdb-batched-multi-get-cf void
198
   (db (* rocksdb))
199
   (opts (* rocksdb-readoptions))
200
   (cf (* rocksdb-column-family-handle))
201
   (nkeys size-t)
202
   (keys (* c-string))
203
   (key-sizes (* size-t))
204
   (values (* (* rocksdb-pinnableslice)))
205
   (errs (* (* rocksdb-errptr)))
206
   (sorted-input boolean))
207
 
208
 (defar rocksdb-key-may-exist unsigned-char
209
   (db (* rocksdb))
210
   (opts (* rocksdb-readoptions))
211
   (key c-string)
212
   (key-len size-t)
213
   (value (* c-string))
214
   (val-len (* size-t))
215
   (timestamp c-string)
216
   (timestamp-len size-t)
217
   (value-found (* unsigned-char)))
218
 
219
 (defar rocksdb-key-may-exist-cf unsigned-char
220
   (db (* rocksdb))
221
   (opts (* rocksdb-readoptions))
222
   (cf (* rocksdb-column-family-handle))
223
   (key c-string)
224
   (key-len size-t)
225
   (value (* c-string))
226
   (val-len (* size-t))
227
   (timestamp c-string)
228
   (timestamp-len size-t)
229
   (value-found (* unsigned-char)))
230
       
231
 (defar rocksdb-cache-create-lru (* rocksdb-cache) (capacity size-t))
232
 
233
 (defar rocksdb-cache-create-hyper-clock (* rocksdb-cache)
234
   (capacity size-t) (estimated-entry-charge size-t))
235
 
236
 (defar rocksdb-cache-create-hyper-clock-opts (* rocksdb-cache)
237
   (opts (* rocksdb-hyper-clock-cache-options)))
238
 
239
 (def-with-errptr rocksdb-flush void 
240
   (db (* rocksdb))
241
   (options (* rocksdb-flushoptions)))
242
 
243
 (def-with-errptr rocksdb-flush-cf void
244
   (db (* rocksdb))
245
   (opts (* rocksdb-flushoptions))
246
   (cf (* rocksdb-column-family-handle))
247
   (num-cf int))
248
 
249
 (def-with-errptr rocksdb-flush-cfs void
250
   (db (* rocksdb))
251
   (opts (* rocksdb-flushoptions))
252
   (cf (* (* rocksdb-column-family-handle)))
253
   (num-cf int))
254
 
255
 (def-with-errptr rocksdb-flush-wal void
256
   (db (* rocksdb))
257
   (sync unsigned-char))
258
 
259
 ;; deprecated AO 2025-01-12
260
 ;; (defar rocksdb-delete-file void
261
 ;;   (db (* rocksdb))
262
 ;;   (name c-string))
263
 
264
 (defar rocksdb-livefile (* rocksdb-livefiles)
265
   (db (* rocksdb))
266
   (name c-string))
267
 
268
 ;; return NULL if prop name is unknown, else return pointer to
269
 ;; malloc-ed null-term value.
270
 (defar rocksdb-property-value c-string
271
   (db (* rocksdb))
272
   (propname c-string))
273
 
274
 ;; return 0 on success, else -1
275
 (defar rocksdb-property-int int
276
   (db (* rocksdb))
277
   (propname c-string))
278
 
279
 (defar rocksdb-property-value-cf c-string
280
   (db (* rocksdb))
281
   (cf (* rocksdb-column-family-handle))
282
   (propname c-string))
283
 
284
 (defar rocksdb-property-int-cf int
285
   (db (* rocksdb))
286
   (cf (* rocksdb-column-family-handle))
287
   (propname c-string))
288
 
289
 ;;; CF
290
 (def-with-errptr rocksdb-create-column-family 
291
     (* rocksdb-column-family-handle)
292
   (db (* rocksdb))
293
   (column-family-options (* rocksdb-options))
294
   (column-family-name c-string))
295
 
296
 (def-with-errptr rocksdb-create-column-families
297
     (* rocksdb-column-family-handle)
298
   (db (* rocksdb))
299
   (column-family-options (* rocksdb-options))
300
   (num-column-familes int)
301
   (column-family-names (* c-string))
302
   (lencfs (* size-t)))
303
 
304
 (defar rocksdb-create-column-families-destroy void
305
   (list (* rocksdb-column-family-handle)))
306
 
307
 (def-with-errptr rocksdb-create-column-family-with-ttl (* rocksdb-column-family-handle)
308
   (db (* rocksdb))
309
   (cf-opts (* rocksdb-options))
310
   (cf-name c-string)
311
   (ttl int))
312
 
313
 (defar rocksdb-column-family-handle-destroy void
314
   (cf (* rocksdb-column-family-handle)))
315
 
316
 (defar rocksdb-column-family-handle-get-id unsigned-int
317
   (cf (* rocksdb-column-family-handle)))
318
 
319
 (defar rocksdb-column-family-handle-get-name c-string
320
   (handle (* rocksdb-column-family-handle))
321
   (name-len (* size-t)))
322
 
323
 (def-with-errptr rocksdb-drop-column-family 
324
   void
325
   (db (* rocksdb))
326
   (handle (* rocksdb-column-family-handle)))
327
 
328
 (defar rocksdb-get-default-column-family-handle (* rocksdb-column-family-handle)
329
   (db (* rocksdb)))
330
 
331
 (def-with-errptr rocksdb-list-column-families 
332
   (* c-string)
333
   (opt (* rocksdb-options))
334
   (name c-string)
335
   (lencf (* size-t)))
336
 
337
 (defar rocksdb-list-column-families-destroy void
338
   (list (* c-string))
339
   (len size-t))
340
 
341
 (def-with-errptr rocksdb-put-cf 
342
   void
343
   (db (* rocksdb))
344
   (opt (* rocksdb-writeoptions))
345
   (cf (* rocksdb-column-family-handle))
346
   (key (* unsigned-char))
347
   (keylen size-t)
348
   (val (* unsigned-char))
349
   (vallen size-t))
350
 
351
 (def-with-errptr rocksdb-put-with-ts void
352
   (db (* rocksdb))
353
   (opt (* rocksdb-writeoptions))
354
   (key (* unsigned-char))
355
   (keylen size-t)
356
   (ts c-string)
357
   (tslen size-t)
358
   (val (* unsigned-char))
359
   (vallen size-t))
360
 
361
 (def-with-errptr rocksdb-put-cf-with-ts void
362
   (db (* rocksdb))
363
   (opt (* rocksdb-writeoptions))
364
   (cf (* rocksdb-column-family-handle))
365
   (key (* unsigned-char))
366
   (keylen size-t)
367
   (ts c-string)
368
   (tslen size-t)
369
   (val (* unsigned-char))
370
   (vallen size-t))
371
 
372
 (def-with-errptr rocksdb-delete-cf 
373
   void
374
   (db (* rocksdb))
375
   (options (* rocksdb-writeoptions))
376
   (cf (* rocksdb-column-family-handle))
377
   (key (* unsigned-char))
378
   (keylen size-t))
379
 
380
 (def-with-errptr rocksdb-delete-with-ts
381
   void
382
   (db (* rocksdb))
383
   (options (* rocksdb-writeoptions))
384
   (key (* unsigned-char))
385
   (ts c-string)
386
   (tslen size-t)
387
   (keylen size-t))
388
 
389
 (def-with-errptr rocksdb-delete-cf-with-ts
390
   void
391
   (db (* rocksdb))
392
   (options (* rocksdb-writeoptions))
393
   (cf (* rocksdb-column-family-handle))
394
   (key (* unsigned-char))
395
   (ts c-string)
396
   (tslen size-t)
397
   (keylen size-t))
398
 
399
 (def-with-errptr rocksdb-singledelete void
400
   (db (* rocksdb))
401
   (opts (* rocksdb-writeoptions))
402
   (key c-string)
403
   (keylen size-t))
404
 
405
 (def-with-errptr rocksdb-singledelete-with-ts void
406
   (db (* rocksdb))
407
   (opts (* rocksdb-writeoptions))
408
   (key c-string)
409
   (keylen size-t)
410
   (ts c-string)
411
   (tslen size-t))
412
 
413
 (def-with-errptr rocksdb-singledelete-cf-with-ts void
414
   (db (* rocksdb))
415
   (opts (* rocksdb-writeoptions))
416
   (cf (* rocksdb-column-family-handle))
417
   (key c-string)
418
   (keylen size-t)
419
   (ts c-string)
420
   (tslen size-t))
421
 
422
 (def-with-errptr rocksdb-singledelete-cf void
423
   (db (* rocksdb))
424
   (opts (* rocksdb-writeoptions))
425
   (cf (* rocksdb-column-family-handle))
426
   (key c-string)
427
   (keylen size-t))
428
 
429
 (def-with-errptr rocksdb-increase-full-history-ts-low void
430
   (db (* rocksdb))
431
   (cf (* rocksdb-column-family-handle))
432
   (ts-low c-string)
433
   (ts-lowlen size-t))
434
 
435
 (def-with-errptr rocksdb-get-full-history-ts-low c-string
436
   (db (* rocksdb))
437
   (cf (* rocksdb-column-family-handle))
438
   (ts-lowlen (* size-t)))
439
 
440
 (def-with-errptr rocksdb-delete-range-cf 
441
   void
442
   (db (* rocksdb))
443
   (options (* rocksdb-writeoptions))
444
   (cf (* rocksdb-column-family-handle))
445
   (start-key (* unsigned-char))
446
   (start-key-len size-t)
447
   (end-key (* unsigned-char))
448
   (end-key-len size-t))
449
 
450
 (def-with-errptr rocksdb-disable-file-deletions void
451
   (db (* rocksdb)))
452
 
453
 (def-with-errptr rocksdb-enable-file-deletions void
454
   (db (* rocksdb)))
455
   
456
 (def-with-errptr rocksdb-destroy-db void
457
   (opts (* rocksdb-options))
458
   (name c-string))
459
 
460
 (def-with-errptr rocksdb-repair-db void
461
   (opts (* rocksdb-options))
462
   (name c-string))
463
 
464
 ;;; Iterators
465
 (defar rocksdb-create-iterator (* rocksdb-iterator)
466
   (db (* rocksdb))
467
   (opt (* rocksdb-readoptions)))
468
 
469
 (defar rocksdb-get-updates-since (* rocksdb-wal-iterator)
470
   (db (* rocksdb))
471
   (opts (* rocksdb-readoptions)))
472
 
473
 (defar rocksdb-create-iterator-cf (* rocksdb-iterator)
474
   (db (* rocksdb))
475
   (opt (* rocksdb-readoptions))
476
   (cf (* rocksdb-column-family-handle)))
477
 
478
 (def-with-errptr rocksdb-create-iterators void
479
   (db (* rocksdb))
480
   (opts (* rocksdb-readoptions))
481
   (cfs (* (* rocksdb-column-family-handle)))
482
   (iters (* (* rocksdb-iterator))))
483
   
484
 (defar rocksdb-iter-destroy void 
485
       (iter (* rocksdb-iterator)))
486
 (defar rocksdb-iter-seek-to-first void 
487
       (iter (* rocksdb-iterator)))
488
 (defar rocksdb-iter-seek-to-last void 
489
       (iter (* rocksdb-iterator)))
490
 (defar rocksdb-iter-seek void 
491
   (iter (* rocksdb-iterator))
492
   (k (* unsigned-char))
493
   (klen size-t))
494
 (defar rocksdb-iter-seek-for-prev void 
495
   (iter (* rocksdb-iterator))
496
   (k (* unsigned-char))
497
   (klen size-t))
498
 (defar rocksdb-iter-valid boolean 
499
   (iter (* rocksdb-iterator)))
500
 (defar rocksdb-iter-next void
501
   (iter (* rocksdb-iterator)))
502
 (defar rocksdb-iter-prev void 
503
   (iter (* rocksdb-iterator)))
504
 (defar rocksdb-iter-key (* unsigned-char)
505
   (iter (* rocksdb-iterator))
506
   (klen-ptr (* size-t)))
507
 (defar rocksdb-iter-value (* unsigned-char) 
508
   (iter (* rocksdb-iterator)) 
509
   (vlen-ptr (* size-t)))
510
 (defar rocksdb-iter-timestamp (* unsigned-char) 
511
   (iter (* rocksdb-iterator))
512
   (tslen (* size-t)))
513
 (def-with-errptr rocksdb-iter-get-error void (iter (* rocksdb-iterator)))
514
 (defar rocksdb-wal-iter-next void (iter (* rocksdb-wal-iterator)))
515
 (defar rocksdb-wal-iter-valid unsigned-char (iter (* rocksdb-wal-iterator)))
516
 (def-with-errptr rocksdb-wal-iter-status unsigned-char (iter (* rocksdb-wal-iterator)))
517
 (defar rocksdb-wal-iter-get-batch (* rocksdb-writebatch)
518
   (iter (* rocksdb-wal-iterator))
519
   (seq (* (unsigned 64))))
520
 (defar rockdsb-get-latest-sequence-number (unsigned 64) (db (* rocksdb)))
521
 (defar rocksdb-wal-iter-destroy void
522
   (iter (* rocksdb-wal-iterator)))
523
 
524
 ;;; Backup
525
 (def-with-errptr rocksdb-backup-engine-verify-backup void
526
   (be (* rocksdb-backup-engine))
527
   (backup-id (unsigned 32)))
528
 
529
 (def-with-errptr rocksdb-backup-engine-open
530
   (* rocksdb-backup-engine)
531
   (opts (* rocksdb-options))
532
   (path c-string))
533
 
534
 (def-with-errptr rocksdb-backup-engine-create-new-backup
535
   void
536
   (be (* rocksdb-backup-engine))
537
   (db (* rocksdb)))
538
 
539
 (def-with-errptr rocksdb-backup-engine-restore-db-from-latest-backup
540
   void
541
   (be (* rocksdb-backup-engine))
542
   (db-dir c-string)
543
   (wal-dir c-string)
544
   (res-opts (* rocksdb-restore-options)))
545
 
546
 (def-with-errptr rocksdb-backup-engine-restore-db-from-backup
547
   void
548
   (be (* rocksdb-backup-engine))
549
   (db-dir c-string)
550
   (wal-dir c-string)
551
   (res-opts (* rocksdb-restore-options))
552
   (backup-id unsigned-int))
553
 
554
 (defar rocksdb-backup-engine-close void
555
   (be (* rocksdb-backup-engine)))
556
 
557
 (defar rocksdb-backup-engine-get-backup-info (* rocksdb-backup-engine-info)
558
   (be (* rocksdb-backup-engine)))
559
 (defar rocksdb-backup-engine-info-count int
560
   (info (* rocksdb-backup-engine-info)))
561
 (defar rocksdb-backup-engine-info-timestamp (signed 64)
562
   (info (* rocksdb-backup-engine-info))
563
   (index int))
564
 (defar rocksdb-backup-engine-info-backup-id (unsigned 64)
565
   (info (* rocksdb-backup-engine-info))
566
   (index int))
567
 (defar rocksdb-backup-engine-info-size (unsigned 64)
568
   (info (* rocksdb-backup-engine-info))
569
   (index int))
570
 (defar rocksdb-backup-engine-info-num-files (unsigned 32)
571
   (info (* rocksdb-backup-engine-info))
572
   (index int))
573
 (defar rocksdb-backup-engine-info-destroy void
574
   (info (* rocksdb-backup-engine-info)))
575
 
576
 ;;; Transactions
577
 (def-with-errptr rocksdb-transactiondb-create-column-family (* rocksdb-column-family-handle)
578
   (txn-db (* rocksdb-transactiondb))
579
   (cf-options (* rocksdb-options))
580
   (cf-name c-string))
581
 
582
 (def-with-errptr rocksdb-transactiondb-open (* rocksdb-transactiondb)
583
   (opts (* rocksdb-options))
584
   (topts (* rocksdb-transactiondb-options))
585
   (name c-string))
586
 
587
 (def-with-errptr rocksdb-transactiondb-open-column-families (* rocksdb-transactiondb)
588
   (opts (* rocksdb-options))
589
   (txn-db-opts (* rocksdb-transactiondb-options))
590
   (name c-string)
591
   (num-cfs int)
592
   (cf-names (* c-string))
593
   (cf-opfs (* rocksdb-options))
594
   (cf-handles (* (* rocksdb-column-family-handle))))
595
 
596
 (defar rocksdb-transactiondb-create-snapshot (* rocksdb-snapshot)
597
   (txn-db (* rocksdb-transactiondb))
598
   (snapshot (* rocksdb-snapshot)))
599
 
600
 (defar rocksdb-transactiondb-release-snapshot void
601
   (txn-db (* rocksdb-transactiondb))
602
   (snapshot (* rocksdb-snapshot)))
603
 
604
 (defar rocksdb-transactiondb-property-value c-string
605
   (db (* rocksdb-transactiondb))
606
   (propname c-string))
607
 
608
 (defar rocksdb-transactiondb-property-int int
609
   (db (* rocksdb-transactiondb))
610
   (propname c-string)
611
   (out-val (unsigned 64)))
612
 
613
 (defar rocksdb-transactiondb-get-base-db (* rocksdb)
614
   (txn-db (* rocksdb-transactiondb)))
615
 
616
 (defar rocksdb-transactiondb-close-base-db void
617
   (base-db (* rocksdb)))
618
 
619
 (defar rocksdb-transaction-begin (* rocksdb-transaction)
620
   (txn-db (* rocksdb-transactiondb))
621
   (wopts (* rocksdb-writeoptions))
622
   (topts (* rocksdb-transaction-options))
623
   (told (* rocksdb-transaction)))
624
 
625
 (defar rocksdb-transactiondb-get-prepared-transactions (* (* rocksdb-transaction))
626
   (txn-db (* rocksdb-transactiondb))
627
   (cnt (* size-t)))
628
 
629
 (def-with-errptr rocksdb-transaction-set-name void
630
   (txn (* rocksdb-transaction))
631
   (name (* unsigned-char))
632
   (name-len size-t))
633
 
634
 (defar rocksdb-transaction-get-name (* unsigned-char)
635
   (txn (* rocksdb-transaction))
636
   (name-len (* size-t)))
637
 
638
 (def-with-errptr rocksdb-transaction-prepare void
639
   (txn (* rocksdb-transaction)))
640
 
641
 (def-with-errptr rocksdb-transaction-commit void
642
   (txn (* rocksdb-transaction)))
643
 
644
 (def-with-errptr rocksdb-transaction-rollback void
645
   (txn (* rocksdb-transaction)))
646
 
647
 (defar rocksdb-transaction-set-savepoint void
648
   (txn (* rocksdb-transaction)))
649
 
650
 (def-with-errptr rocksdb-transaction-rollback-to-savepoint void
651
   (txn (* rocksdb-transaction)))
652
 
653
 (defar rocksdb-transaction-destroy void
654
   (txn (* rocksdb-transaction)))
655
 
656
 (defar rocksdb-transaction-get-writebach-wi (* rocksdb-writebatch-wi)
657
   (txn (* rocksdb-transaction)))
658
 
659
 (def-with-errptr rocksdb-transaction-delete void
660
   (txn (* rocksdb-transaction))
661
   (key c-string)
662
   (klen size-t))
663
 
664
 (def-with-errptr rocksdb-transaction-delete-cf void
665
   (txn (* rocksdb-transaction))
666
   (cf (* rocksdb-column-family-handle))
667
   (key c-string)
668
   (klen size-t))
669
 
670
 (def-with-errptr rocksdb-transactiondb-delete void
671
   (txndb (* rocksdb-transactiondb))
672
   (opts (* rocksdb-writeoptions))
673
   (key c-string)
674
   (klen size-t))
675
 
676
 (def-with-errptr rocksdb-transactiondb-delete-cf void
677
   (txndb (* rocksdb-transactiondb))
678
   (opts (* rocksdb-writeoptions))
679
   (cf (* rocksdb-column-family-handle))
680
   (key c-string)
681
   (klen size-t))
682
 
683
 (defar rocksdb-transaction-create-iterator (* rocksdb-iterator)
684
   (txn (* rocksdb-transaction))
685
   (opts (* rocksdb-readoptions)))
686
 
687
 (defar rocksdb-transaction-create-iterator-cf (* rocksdb-iterator)
688
   (txn (* rocksdb-transaction))
689
   (opts (* rocksdb-readoptions))
690
   (cf (* rocksdb-column-family-handle)))
691
 
692
 (def-with-errptr rocksdb-transaction-get (* unsigned-char)
693
   (txn (* rocksdb-transaction))
694
   (opts (* rocksdb-readoptions))
695
   (key (* unsigned-char))
696
   (klen size-t)
697
   (vlen (* size-t)))
698
 
699
 (def-with-errptr rocksdb-transaction-get-pinned (* rocksdb-pinnableslice)
700
   (txn (* rocksdb-transaction))
701
   (opts (* rocksdb-readoptions))
702
   (key (* unsigned-char))
703
   (klen size-t))
704
 
705
 (def-with-errptr rocksdb-transaction-get-cf (* unsigned-char)
706
   (txn (* rocksdb-transaction))
707
   (opts (* rocksdb-readoptions))
708
   (cf-handle (* rocksdb-column-family-handle))
709
   (key (* unsigned-char))
710
   (klen size-t)
711
   (vlen (* size-t)))
712
 
713
 (def-with-errptr rocksdb-transaction-get-pinned-cf (* rocksdb-pinnableslice)
714
   (txn (* rocksdb-transaction))
715
   (opts (* rocksdb-readoptions))
716
   (cf-handle (* rocksdb-column-family-handle))
717
   (key (* unsigned-char))
718
   (klen size-t))
719
 
720
 (def-with-errptr rocksdb-transaction-get-for-update (* unsigned-char)
721
   (txn (* rocksdb-transaction))
722
   (opts (* rocksdb-readoptions))
723
   (key (* unsigned-char))
724
   (klen size-t)
725
   (vlen (* size-t))
726
   (exclusive unsigned-char))
727
 
728
 (def-with-errptr rocksdb-transaction-get-pinned-for-update (* rocksdb-pinnableslice)
729
   (txn (* rocksdb-transaction))
730
   (opts (* rocksdb-readoptions))
731
   (key (* unsigned-char))
732
   (klen size-t)
733
   (exclusive unsigned-char))
734
 
735
 (def-with-errptr rocksdb-transaction-get-for-update-cf (* unsigned-char)
736
   (txn (* rocksdb-transaction))
737
   (opts (* rocksdb-readoptions))
738
   (cf-handle (* rocksdb-column-family-handle))
739
   (key (* unsigned-char))
740
   (klen size-t)
741
   (vlen (* size-t))
742
   (exclusive unsigned-char))
743
 
744
 (def-with-errptr rocksdb-transaction-get-pinned-for-update-cf (* rocksdb-pinnableslice)
745
   (txn (* rocksdb-transaction))
746
   (opts (* rocksdb-readoptions))
747
   (cf-handle (* rocksdb-column-family-handle))
748
   (key (* unsigned-char))
749
   (klen size-t)
750
   (exclusive unsigned-char))
751
 
752
 (def-with-errptr rocksdb-transaction-multi-get void
753
   (txn (* rocksdb-transaction))
754
   (opts (* rocksdb-readoptions))
755
   (nkeys size-t)
756
   (keys (* (* unsigned-char)))
757
   (key-sizes (* size-t))
758
   (vals (* (* unsigned-char)))
759
   (val-sizes (* size-t)))
760
 
761
 (def-with-errptr rocksdb-transaction-multi-get-for-update void
762
   (txn (* rocksdb-transaction))
763
   (opts (* rocksdb-readoptions))
764
   (nkeys size-t)
765
   (keys (* (* unsigned-char)))
766
   (key-sizes (* size-t))
767
   (vals (* (* unsigned-char)))
768
   (val-sizes (* size-t)))
769
 
770
 (def-with-errptr rocksdb-transaction-multi-get-cf void
771
   (txn (* rocksdb-transaction))
772
   (opts (* rocksdb-readoptions))
773
   (cfs (* (* rocksdb-column-family-handle)))
774
   (nkeys size-t)
775
   (keys (* (* unsigned-char)))
776
   (key-sizes (* size-t))
777
   (vals (* (* unsigned-char)))
778
   (val-sizes (* size-t)))
779
 
780
 (def-with-errptr rocksdb-transaction-multi-get-for-update-cf void
781
   (txn (* rocksdb-transaction))
782
   (opts (* rocksdb-readoptions))
783
   (cfs (* (* rocksdb-column-family-handle)))
784
   (nkeys size-t)
785
   (keys (* (* unsigned-char)))
786
   (key-sizes (* size-t))
787
   (vals (* (* unsigned-char)))
788
   (val-sizes (* size-t)))
789
 
790
 (def-with-errptr rocksdb-transactiondb-get (* unsigned-char)
791
   (txn-db (* rocksdb-transactiondb))
792
   (opts (* rocksdb-readoptions))
793
   (key (* unsigned-char))
794
   (klen size-t)
795
   (vlen (* size-t)))
796
 
797
 (def-with-errptr rocksdb-transactiondb-get-pinned (* rocksdb-pinnableslice)
798
   (txn-db (* rocksdb-transactiondb))
799
   (opts (* rocksdb-readoptions))
800
   (key (* unsigned-char))
801
   (klen size-t))
802
 
803
 (def-with-errptr rocksdb-transactiondb-get-cf (* unsigned-char)
804
   (txn-db (* rocksdb-transactiondb))
805
   (opts (* rocksdb-readoptions))
806
   (cf (* rocksdb-column-family-handle))
807
   (key (* unsigned-char))
808
   (klen size-t)
809
   (vlen (* size-t)))
810
 
811
 (def-with-errptr rocksdb-transactiondb-get-pinned-cf (* rocksdb-pinnableslice)
812
   (txn-db (* rocksdb-transactiondb))
813
   (opts (* rocksdb-readoptions))
814
   (cf (* rocksdb-column-family-handle))
815
   (key (* unsigned-char))
816
   (klen size-t))
817
 
818
 (def-with-errptr rocksdb-transactiondb-multi-get-cf void
819
   (txn-db (* rocksdb-transactiondb))
820
   (opts (* rocksdb-readoptions))
821
   (cfs (* (* rocksdb-column-family-handle)))
822
   (nkeys size-t)
823
   (keys (* (* unsigned-char)))
824
   (key-sizes (* size-t))
825
   (vals (* (* unsigned-char)))
826
   (val-sizes (* size-t)))
827
 
828
 (def-with-errptr rocksdb-transaction-put void
829
   (txn (* rocksdb-transaction))
830
   (key (* unsigned-char))
831
   (klen size-t)
832
   (val (* unsigned-char))
833
   (vlen size-t))
834
 
835
 (def-with-errptr rocksdb-transaction-put-cf void
836
   (txn (* rocksdb-transaction))
837
   (cf (* rocksdb-column-family-handle))
838
   (key (* unsigned-char))
839
   (klen size-t)
840
   (val (* unsigned-char))
841
   (vlen size-t))
842
 
843
 (def-with-errptr rocksdb-transactiondb-put void
844
   (txn-db (* rocksdb-transactiondb))
845
   (opts (* rocksdb-writeoptions))
846
   (key (* unsigned-char))
847
   (klen size-t)
848
   (val (* unsigned-char))
849
   (vlen size-t))
850
 
851
 (def-with-errptr rocksdb-transactiondb-put-cf void
852
   (txn-db (* rocksdb-transactiondb))
853
   (opts (* rocksdb-writeoptions))
854
   (cf (* rocksdb-column-family-handle))
855
   (key (* unsigned-char))
856
   (klen size-t)
857
   (val (* unsigned-char))
858
   (vlen size-t))
859
 
860
 (def-with-errptr rocksdb-transactiondb-write void
861
   (txn-db (* rocksdb-transactiondb))
862
   (opts (* rocksdb-writeoptions))
863
   (batch (* rocksdb-writebatch)))
864
 
865
 (def-with-errptr rocksdb-transaction-merge void
866
   (txn (* rocksdb-transaction))
867
   (key (* unsigned-char))
868
   (klen size-t)
869
   (val (* unsigned-char))
870
   (vlen size-t))
871
 
872
 (def-with-errptr rocksdb-transaction-merge-cf void
873
   (txn (* rocksdb-transaction))
874
   (cf (* rocksdb-column-family-handle))
875
   (key (* unsigned-char))
876
   (klen size-t)
877
   (val (* unsigned-char))
878
   (vlen size-t))
879
 
880
 (def-with-errptr rocksdb-transactiondb-merge void
881
   (txn (* rocksdb-transactiondb))
882
   (opts (* rocksdb-writeoptions))
883
   (key (* unsigned-char))
884
   (klen size-t)
885
   (val (* unsigned-char))
886
   (vlen size-t))
887
 
888
 (def-with-errptr rocksdb-transactiondb-merge-cf void
889
   (txn (* rocksdb-transactiondb))
890
   (opts (* rocksdb-writeoptions))
891
   (cf (* rocksdb-column-family-handle))
892
   (key (* unsigned-char))
893
   (klen size-t)
894
   (val (* unsigned-char))
895
   (vlen size-t))
896
 
897
 (defar rocksdb-transactiondb-create-iterator (* rocksdb-iterator)
898
   (txndb (* rocksdb-transactiondb))
899
   (opts (* rocksdb-readoptions)))
900
 
901
 (defar rocksdb-transactiondb-create-iterator-cf (* rocksdb-iterator)
902
   (txndb (* rocksdb-transactiondb))
903
   (opts (* rocksdb-readoptions))
904
   (cf (* rocksdb-column-family-handle)))
905
 
906
 (defar rocksdb-transactiondb-close void
907
   (tdb (* rocksdb-transactiondb)))
908
 
909
 (def-with-errptr rocksdb-transactiondb-flush void
910
   (txndb (* rocksdb-transactiondb))
911
   (opts (* rocksdb-flushoptions)))
912
 
913
 (def-with-errptr rocksdb-transactiondb-flush-cf void
914
   (txndb (* rocksdb-transactiondb))
915
   (opts (* rocksdb-flushoptions))
916
   (cf (* rocksdb-column-family-handle)))
917
 
918
 (def-with-errptr rocksdb-transactiondb-flush-cfs void
919
   (txndb (* rocksdb-transactiondb))
920
   (opts (* rocksdb-flushoptions))
921
   (cfs (* (* rocksdb-column-family-handle)))
922
   (ncfs int))
923
 
924
 (def-with-errptr rocksdb-transactiondb-flush-wal void
925
   (txndb (* rocksdb-transactiondb))
926
   (sync unsigned-char))
927
 
928
 (def-with-errptr rocksdb-transactiondb-checkpoint-object-create (* rocksdb-checkpoint)
929
   (txn-db (* rocksdb-transactiondb)))
930
 
931
 (def-with-errptr rocksdb-optimistictransactiondb-open (* rocksdb-optimistictransactiondb)
932
   (opts (* rocksdb-options))
933
   (name c-string))
934
 
935
 ;; https://github.com/facebook/rocksdb/wiki/Checkpoints
936
 (def-with-errptr rocksdb-checkpoint-object-create (* rocksdb-checkpoint)
937
   (db (* rocksdb)))
938
 
939
 (def-with-errptr rocksdb-checkpoint-create void
940
   (checkpoint (* rocksdb-checkpoint))
941
   (checkpoint-dir c-string)
942
   (log-size-for-flush (unsigned 64)))
943
 
944
 (defar rocksdb-checkpoint-object-destroy void
945
   (checkpoint (* rocksdb-checkpoint)))
946
 
947
 (def-with-errptr rocksdb-optimistictransactiondb-open-column-families (* rocksdb-optimistictransactiondb)
948
   (opts (* rocksdb-options))
949
   (name c-string)
950
   (ncfs int)
951
   (cf-names (* c-string))
952
   (cf-opts (* (* rocksdb-options)))
953
   (cf-handles (* (* rocksdb-column-family-handle))))
954
 
955
 (defar rocksdb-optimistictransactiondb-get-base-db (* rocksdb)
956
   (otxn-db (* rocksdb-optimistictransactiondb)))
957
 
958
 (defar rocksdb-optimistictransactiondb-close-base-db void
959
   (base-db (* rocksdb)))
960
 
961
 (defar rocksdb-optimistictransaction-begin (* rocksdb-transaction)
962
   (otxn-db (* rocksdb-optimistictransactiondb))
963
   (wopts (* rocksdb-writeoptions))
964
   (otxn-opts (* rocksdb-optimistictransaction-options))
965
   (old-txn (* rocksdb-transaction)))
966
 
967
 (def-with-errptr rocksdb-optimistictransactiondb-write void
968
   (otxn-db (* rocksdb-optimistictransactiondb))
969
   (wopts (* rocksdb-writeoptions))
970
   (batch (* rocksdb-writebatch)))
971
 
972
 (defar rocksdb-optimistictransactiondb-close void
973
   (otxn-db (* rocksdb-optimistictransactiondb)))
974
 
975
 (def-with-errptr rocksdb-optimistictransactiondb-checkpoint-object-create (* rocksdb-checkpoint)
976
   (otxn-db (* rocksdb-optimistictransactiondb)))
977
 
978
 ;;; Perfcontext
979
 (defar rocksdb-set-perf-level void (val int))
980
 
981
 (defar rocksdb-perfcontext-create (* rocksdb-perfcontext))
982
 
983
 (defar rocksdb-perfcontext-reset void (ctx (* rocksdb-perfcontext)))
984
 
985
 (defar rocksdb-perfcontext-report (* unsigned-char) 
986
   (context (* rocksdb-perfcontext))
987
   (exclude-zero-counters unsigned-char))
988
 
989
 (defar rocksdb-perfcontext-metric unsigned-long
990
   (context (* rocksdb-perfcontext)) (metric int))
991
 
992
 (defar rocksdb-perfcontext-destroy void (ctx (* rocksdb-perfcontext)))
993
 
994
 ;;; Filter Policy
995
 (defar rocksdb-filterpolicy-destroy void (self (* rocksdb-filterpolicy)))
996
 
997
 (defar rocksdb-filterpolicy-create-bloom (* rocksdb-filterpolicy)
998
   (bits-per-key double))
999
 
1000
 (defar rocksdb-filterpolicy-create-bloom-full (* rocksdb-filterpolicy)
1001
   (bits-per-key double))
1002
 
1003
 (defar rocksdb-filterpolicy-create-ribbon (* rocksdb-filterpolicy)
1004
   (bloom-equivalent-bits-per-key double))
1005
 
1006
 (defar rocksdb-filterpolicy-create-ribbon-hybrid (* rocksdb-filterpolicy)
1007
   (bloom-equivalent-bits-per-key double)
1008
   (bloom-before-level int))
1009
 
1010
 ;;; Snapshot
1011
 (defar rocksdb-create-snapshot (* rocksdb-snapshot)
1012
   (db (* rocksdb)))
1013
 
1014
 (defar rocksdb-snapshot-get-sequence-number (unsigned 64)
1015
   (snapshot (* rocksdb-snapshot)))
1016
 
1017
 (defar rocksdb-release-snapshot void
1018
   (db (* rocksdb))
1019
   (snapshot (* rocksdb-snapshot)))
1020
 
1021
 ;;; Pinnable Slices
1022
 (def-with-errptr rocksdb-get-pinned (* rocksdb-pinnableslice)
1023
   (db (* rocksdb))
1024
   (opts (* rocksdb-readoptions))
1025
   (key (* unsigned-char))
1026
   (keylen size-t))
1027
 
1028
 (def-with-errptr rocksdb-get-pinned-cf (* rocksdb-pinnableslice)
1029
   (db (* rocksdb))
1030
   (opts (* rocksdb-readoptions))
1031
   (cf-handle (* rocksdb-column-family-handle))
1032
   (key (* unsigned-char))
1033
   (keylen size-t))
1034
 
1035
 (defar rocksdb-pinnableslice-destroy void (v (* rocksdb-pinnableslice)))
1036
 
1037
 (defar rocksdb-pinnableslice-value (* unsigned-char) 
1038
   (ty (* rocksdb-pinnableslice))
1039
   (vlen (* size-t)))
1040
 
1041
 ;;; Memory Consumers
1042
 (defar rocksdb-memory-consumers-create (* rocksdb-memory-consumers))
1043
 (defar rocksdb-memory-consumers-add-db void 
1044
   (consumers (* rocksdb-memory-consumers))
1045
   (db (* rocksdb)))
1046
 (defar rocksdb-memory-consumers-add-cache void 
1047
   (consumers (* rocksdb-memory-consumers))
1048
   (cache (* rocksdb-cache)))
1049
 (defar rocksdb-memory-consumers-destroy void (consumers (* rocksdb-memory-consumers)))
1050
 
1051
 (def-with-errptr rocksdb-approximate-memory-usage-create (* rocksdb-memory-usage)
1052
   (consumers (* rocksdb-memory-consumers)))
1053
 (defar rocksdb-approximate-memory-usage-destroy void (usage (* rocksdb-memory-usage)))
1054
 (defar rocksdb-approximate-memory-usage-get-mem-table-total unsigned-long 
1055
   (usage (* rocksdb-memory-usage)))
1056
 (defar rocksdb-approximate-memory-usage-get-mem-table-unflushed unsigned-long 
1057
   (usage (* rocksdb-memory-usage)))
1058
 (defar rocksdb-approximate-memory-usage-get-mem-table-readers-total unsigned-long 
1059
   (usage (* rocksdb-memory-usage)))
1060
 (defar rocksdb-approximate-memory-usage-get-cache-total unsigned-long 
1061
   (usage (* rocksdb-memory-usage)))
1062
 
1063
 ;;; DbPath
1064
 (defar rocksdb-dbpath-create (* rocksdb-dbpath)
1065
   (path c-string)
1066
   (target-size (unsigned 64)))
1067
 (defar rocksdb-dbpath-destroy (* rocksdb-dbpath)
1068
   (path (* rocksdb-dbpath)))