Mercurial > core / lisp/ffi/rocksdb/db.lisp
changeset 268: |
a52d42f30617 |
parent: |
f3d814fb136a
|
child: |
87f503c7a365 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Sat, 06 Apr 2024 23:30:32 -0400 |
permissions: |
-rw-r--r-- |
description: |
rocksdb alien functions and cargo fmt |
4 (def-with-errptr rocksdb-open (* rocksdb) 5 (opt (* rocksdb-options)) 8 (define-alien-routine rocksdb-close void 11 (define-alien-routine rocksdb-cancel-all-background-work void 15 (export '(rocksdb-close rocksdb-cancel-all-background-work)) 17 (def-with-errptr rocksdb-put 20 (options (* rocksdb-writeoptions)) 21 (key (* unsigned-char)) 23 (val (* unsigned-char)) 26 (def-with-errptr rocksdb-get 29 (options (* rocksdb-readoptions)) 30 (key (* unsigned-char)) 34 (def-with-errptr rocksdb-delete 37 (options (* rocksdb-writeoptions)) 38 (key (* unsigned-char)) 41 (def-with-errptr rocksdb-merge 44 (opt (* rocksdb-writeoptions)) 45 (key (* unsigned-char)) 47 (val (* unsigned-char)) 50 (def-with-errptr rocksdb-merge-cf 53 (opt (* rocksdb-writeoptions)) 54 (cf (* rocksdb-column-family-handle)) 55 (key (* unsigned-char)) 57 (val (* unsigned-char)) 60 (def-with-errptr rocksdb-write 63 (opt (* rocksdb-writeoptions)) 64 (batch (* rocksdb-writebatch))) 66 (def-with-errptr rocksdb-get-cf 69 (opt (* rocksdb-readoptions)) 70 (cf (* rocksdb-column-family-handle)) 71 (key (* unsigned-char)) 75 ;; NOTE 2023-12-19: only the VOID-returning functions in the multi- 76 ;; family perform parallel IO: 77 ;; https://github.com/facebook/rocksdb/wiki/MultiGet-Performance 78 (define-alien-routine rocksdb-multi-get void 80 (opt (* rocksdb-readoptions)) 82 (keys-list (array c-string)) 83 (keys-list-sizes (array size-t)) 84 (values-list (array c-string)) 85 (values-list-sizes (array size-t)) 86 (errs (array rocksdb-errptr))) 88 (define-alien-routine rocksdb-multi-get-cf void 90 (opt (* rocksdb-readoptions)) 91 (cfs (array rocksdb-column-family-handle)) 93 (keys-list (array c-string)) 94 (keys-list-sizes (array size-t)) 95 (values-list (array c-string)) 96 (values-list-sizes (array size-t)) 97 (errs (array rocksdb-errptr))) 99 (export '(rocksdb-multi-get rocksdb-multi-get-cf)) 101 (define-alien-routine rocksdb-cache-create-lru (* rocksdb) (capacity unsigned-int)) 103 (export '(rocksdb-cache-create-lru)) 105 (def-with-errptr rocksdb-flush void 107 (options (* rocksdb-flushoptions))) 109 (def-with-errptr rocksdb-flush-cf void 111 (opts (* rocksdb-flushoptions)) 112 (cf (* rocksdb-column-family-handle)) 115 (def-with-errptr rocksdb-flush-cfs void 117 (opts (* rocksdb-flushoptions)) 118 (cf (* (* rocksdb-column-family-handle))) 121 (def-with-errptr rocksdb-flush-wal void 123 (sync unsigned-char)) 125 (define-alien-routine rocksdb-delete-file void 129 (define-alien-routine rocksdb-livefile (* rocksdb-livefiles) 133 (export '(rocksdb-delete-file rocksdb-livefile)) 135 ;; return NULL if prop name is unknown, else return pointer to 136 ;; malloc-ed null-term value. 137 (define-alien-routine rocksdb-property-value (* t) 139 (propname (* c-string))) 141 ;; return 0 on success, else -1 142 (define-alien-routine rocksdb-property-int int 144 (propname (* c-string))) 146 (define-alien-routine rocksdb-property-value-cf (* t) 148 (cf (* rocksdb-column-family-handle)) 149 (propname (* c-string))) 151 (define-alien-routine rocksdb-property-int-cf int 153 (cf (* rocksdb-column-family-handle)) 154 (propname (* c-string))) 156 (export '(rocksdb-property-value rocksdb-property-value-cf rocksdb-property-int rocksdb-property-int-cf)) 159 (def-with-errptr rocksdb-create-column-family 160 (* rocksdb-column-family-handle) 162 (column-family-options (* rocksdb-options)) 163 (column-family-name c-string)) 165 (def-with-errptr rocksdb-create-column-families 166 (array rocksdb-column-family-handle) 168 (column-family-options (* rocksdb-options)) 169 (num-column-familes int) 170 (column-family-names (array c-string)) 173 (define-alien-routine rocksdb-create-column-families-destroy void 174 (list (array rocksdb-column-family-handle))) 176 (define-alien-routine rocksdb-column-family-handle-destroy void 177 (* rocksdb-column-family-handle)) 179 (define-alien-routine rocksdb-column-family-handle-get-id unsigned-int 180 (* rocksdb-column-family-handle)) 182 (define-alien-routine rocksdb-column-family-handle-get-name c-string 183 (handle (* rocksdb-column-family-handle)) 184 (name-len (* size-t))) 186 (export '(rocksdb-create-column-families-destroy rocksdb-create-column-family-handle-destroy 187 rocksdb-column-family-handle-get-id rocksdb-column-family-handle-get-name)) 189 (def-with-errptr rocksdb-drop-column-family 192 (handle (* rocksdb-column-family-handle))) 194 (def-with-errptr rocksdb-open-column-families 196 (options (* rocksdb-options)) 198 (num-column-families int) 199 (column-family-names (array c-string)) 200 (column-family-options (array rocksdb-options)) 201 (column-family-handles (array rocksdb-column-family-handle))) 203 (def-with-errptr rocksdb-list-column-families 205 (opt (* rocksdb-options)) 209 (define-alien-routine rocksdb-list-column-families-destroy void 210 (list (array c-string)) 213 (export '(rocksdb-list-column-families-destroy)) 215 (def-with-errptr rocksdb-put-cf 218 (opt (* rocksdb-writeoptions)) 219 (cf (* rocksdb-column-family-handle)) 220 (key (* unsigned-char)) 222 (val (* unsigned-char)) 225 (def-with-errptr rocksdb-delete-cf 228 (options (* rocksdb-writeoptions)) 229 (cf (* rocksdb-column-family-handle)) 230 (key (* unsigned-char)) 233 (def-with-errptr rocksdb-delete-range-cf 236 (options (* rocksdb-writeoptions)) 237 (cf (* rocksdb-column-family-handle)) 238 (start-key (* unsigned-char)) 239 (start-key-len size-t) 240 (end-key (* unsigned-char)) 241 (end-key-len size-t)) 243 (def-with-errptr rocksdb-disable-file-deletions void 246 (def-with-errptr rocksdb-enable-file-deletions void 249 (def-with-errptr rocksdb-destroy-db void 250 (opts (* rocksdb-options)) 253 (def-with-errptr rocksdb-repair-db void 254 (opts (* rocksdb-options)) 258 (define-alien-routine rocksdb-create-iterator (* rocksdb-iterator) 260 (opt (* rocksdb-readoptions))) 261 (define-alien-routine rocksdb-iter-destroy void 262 (iter (* rocksdb-iterator))) 263 (define-alien-routine rocksdb-iter-seek-to-first void 264 (iter (* rocksdb-iterator))) 265 (define-alien-routine rocksdb-iter-valid boolean 266 (iter (* rocksdb-iterator))) 267 (define-alien-routine rocksdb-iter-next void 268 (iter (* rocksdb-iterator))) 269 (define-alien-routine rocksdb-iter-prev void 270 (iter (* rocksdb-iterator))) 271 (define-alien-routine rocksdb-iter-key (* unsigned-char) 272 (iter (* rocksdb-iterator)) 273 (klen-ptr (* size-t))) 274 (define-alien-routine rocksdb-iter-value (* unsigned-char) 275 (iter (* rocksdb-iterator)) 276 (vlen-ptr (* size-t))) 278 (export '(rocksdb-create-iterator rocksdb-iter-destroy rocksdb-iter-seek-to-first rocksdb-iter-valid 279 rocksdb-iter-next rocksdb-iter-prev rocksdb-iter-key rocksdb-iter-value)) 282 (def-with-errptr rocksdb-backup-engine-open 283 (* rocksdb-backup-engine) 284 (opts (* rocksdb-options)) 287 (def-with-errptr rocksdb-backup-engine-create-new-backup 289 (be (* rocksdb-backup-engine)) 292 (def-with-errptr rocksdb-backup-engine-restore-db-from-latest-backup 294 (be (* rocksdb-backup-engine)) 297 (res-opts (* rocksdb-restore-options))) 299 (def-with-errptr rocksdb-backup-engine-restore-db-from-backup 301 (be (* rocksdb-backup-engine)) 304 (res-opts (* rocksdb-restore-options)) 305 (backup-id unsigned-int)) 307 (define-alien-routine rocksdb-backup-engine-close void 308 (be (* rocksdb-backup-engine))) 310 (export '(rocksdb-backup-engine-close)) 313 (def-with-errptr rocksdb-transactiondb-create-column-family (* rocksdb-column-family-handle) 314 (txn-db (* rocksdb-transactiondb)) 315 (cf-options (* rocksdb-options)) 318 (def-with-errptr rocksdb-transactiondb-open (* rocksdb-transactiondb) 319 (opts (* rocksdb-options)) 320 (topts (* rocksdb-transactiondb-options)) 323 (def-with-errptr rocksdb-transactiondb-open-column-families (* rocksdb-transactiondb) 324 (opts (* rocksdb-options)) 325 (txn-db-opts (* rocksdb-transactiondb-options)) 328 (cf-names (array c-string)) 329 (cf-opfs (* rocksdb-options)) 330 (cf-handles (array (* rocksdb-column-family-handle)))) 332 (define-alien-routine rocksdb-transactiondb-create-snapshot (* rocksdb-snapshot) 333 (txn-db (* rocksdb-transactiondb)) 334 (snapshot (* rocksdb-snapshot))) 336 (define-alien-routine rocksdb-transactiondb-release-snapshot void 337 (txn-db (* rocksdb-transactiondb)) 338 (snapshot (* rocksdb-snapshot))) 340 (define-alien-routine rocksdb-transactiondb-property-value c-string 341 (db (* rocksdb-transactiondb)) 344 (define-alien-routine rocksdb-transactiondb-property-int int 345 (db (* rocksdb-transactiondb)) 347 (out-val (unsigned 64))) 349 (define-alien-routine rocksdb-transactiondb-get-base-db (* rocksdb) 350 (txn-db (* rocksdb-transactiondb))) 352 (define-alien-routine rocksdb-transactiondb-get-close-db void 353 (base-db (* rocksdb))) 355 (define-alien-routine rocksdb-transaction-begin (* rocksdb-transaction) 356 (wopts (* rocksdb-writeoptions)) 357 (topts (* rocksdb-transaction-options)) 358 (told (* rocksdb-transaction))) 360 (define-alien-routine rocksdb-transactiondb-get-prepared-transactions (array (* rocksdb-transaction)) 361 (txn-db (* rocksdb-transactiondb)) 364 (def-with-errptr rocksdb-transaction-set-name void 365 (txn (* rocksdb-transaction)) 369 (define-alien-routine rocksdb-transaction-get-name c-string 370 (txn (* rocksdb-transaction)) 371 (name-len (* size-t))) 373 (def-with-errptr rocksdb-transaction-prepare void 374 (txn (* rocksdb-transaction))) 376 (def-with-errptr rocksdb-transaction-commit void 377 (txn (* rocksdb-transaction))) 379 (def-with-errptr rocksdb-transaction-rollback void 380 (txn (* rocksdb-transaction))) 382 (define-alien-routine rocksdb-transaction-set-savepoint void 383 (txn (* rocksdb-transaction))) 385 (def-with-errptr rocksdb-transaction-rollback-to-savepoint void 386 (txn (* rocksdb-transaction))) 388 (define-alien-routine rocksdb-transaction-destroy void 389 (txn (* rocksdb-transaction))) 391 (define-alien-routine rocksdb-transaction-get-writebach-wi (* rocksdb-writebatch-wi) 392 (txn (* rocksdb-transaction))) 394 (define-alien-routine rocksdb-transactiondb-close void 395 (tdb (* rocksdb-transactiondb))) 397 (export '(rocksdb-transaction-begin rocksdb-transaction-close rocksdb-transactiondb-create-snapshot 398 rocksdb-transactiondb-release-snapshot rocksdb-transactiondb-property-value 399 rocksdb-transactiondb-property-int rocksdb-transactiondb-get-base-db 400 rocksdb-transactiondb-get-close-db rocksdb-transaction-get-name 401 rocksdb-transaction-set-savepoint rocksdb-transaction-destroy)) 404 (define-alien-routine rocksdb-set-perf-level void (val int)) 406 (define-alien-routine rocksdb-perfcontext-create (* rocksdb-perfcontext)) 408 (define-alien-routine rocksdb-perfcontext-reset void (* rocksdb-perfcontext)) 410 (define-alien-routine rocksdb-perfcontext-report (* unsigned-char) 411 (context (* rocksdb-perfcontext)) 412 (exclude-zero-counters unsigned-char)) 414 (define-alien-routine rocksdb-perfcontext-metric unsigned-long 415 (context (* rocksdb-perfcontext)) (metric int)) 417 (define-alien-routine rocksdb-perfcontext-destroy void (* rocksdb-perfcontext)) 419 (export '(rocksdb-perfcontext-reset rocksdb-perfcontext-report 420 rocksdb-perfcontext-metric rocksdb-perfcontext-destroy)) 422 ;;; Compaction Filter 423 ;; (define-alien-routine rocksdb-compactionfilter-create (* rocksdb-compactionfilter) 425 ;; (destructor (* void)) 426 ;; (filter (* unsigned-char)) 427 ;; (name (* unsigned-char))) 429 (define-alien-routine rocksdb-compactionfilter-set-ignore-snapshots void 430 (self (* rocksdb-compactionfilter)) (val unsigned-char)) 432 (define-alien-routine rocksdb-compactionfilter-destroy void 433 (self (* rocksdb-compactionfilter))) 435 ;;; Compaction Filter Context 436 (define-alien-routine rocksdb-compactionfiltercontext-is-full-compaction unsigned-char 437 (context (* rocksdb-compactionfiltercontext))) 439 (define-alien-routine rocksdb-compactionfiltercontext-is-manual-compaction unsigned-char 440 (context (* rocksdb-compactionfiltercontext))) 442 (export '(rocksdb-compactionfilter-set-ignore-snapshots rocksdb-compactionfilter-destroy 443 rocksdb-compactionfiltercontext-is-full-compaction rocksdb-compactionfiltercontext-is-manual-compaction)) 445 ;;; Compaction Filter Factory 449 ;; (define-alien-routine rocksdb-comparator-create (* rocksdb-comparator) 451 ;; (destructor (* void)) 453 ;; (name (* unsigned-char))) 455 (define-alien-routine rocksdb-comparator-destroy void (self (* rocksdb-comparator))) 457 ;; (define-alien-routine rocksdb-comparator-with-ts-create (* rocksdb-comparator) 459 ;; (destructor (* void)) 461 ;; (compare-ts (* int)) 462 ;; (compare-without-ts (* int)) 463 ;; (name (* unsigned-char))) 465 (export '(rocksdb-comparator-destroy)) 468 (define-alien-routine rocksdb-filterpolicy-destroy void (self (* rocksdb-filterpolicy))) 470 (define-alien-routine rocksdb-filterpolicy-create-bloom (* rocksdb-filterpolicy) 471 (bits-per-key double)) 473 (define-alien-routine rocksdb-filterpolicy-create-bloom-full (* rocksdb-filterpolicy) 474 (bits-per-key double)) 476 (define-alien-routine rocksdb-filterpolicy-create-ribbon (* rocksdb-filterpolicy) 477 (bloom-equivalent-bits-per-key double)) 479 (define-alien-routine rocksdb-filterpolicy-create-ribbon-hybrid (* rocksdb-filterpolicy) 480 (bloom-equivalent-bits-per-key double) 481 (bloom-before-level int)) 483 (export '(rocksdb-filterpolicy-destroy rocksdb-filterpolicy-create-bloom rocksdb-filterpolicy-create-bloom-full 484 rocksdb-filterpolicy-create-ribbon rocksdb-filterpolicy-create-ribbon-hybrid)) 488 ;; (define-alien-routine rocksdb-mergeoperator-create (* rocksdb-mergeoperator) 490 ;; (destructor (* void)) 491 ;; (full-merge (* char)) 492 ;; (partial-merge (* char)) 493 ;; (delete-value (* void)) 494 ;; (name (* unsigned-char))) 496 (define-alien-routine rocksdb-mergeoperator-destroy void (self (* rocksdb-mergeoperator))) 498 (export '(rocksdb-mergeoperator-destroy))