Mercurial > core / lisp/ffi/rocksdb/db.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
6fc04c4d465c
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
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 (define-alien-routine rocksdb-disable-manual-compaction void 18 (define-alien-routine rocksdb-enable-manual-compaction void 21 (def-with-errptr rocksdb-put 24 (options (* rocksdb-writeoptions)) 25 (key (* unsigned-char)) 27 (val (* unsigned-char)) 30 (def-with-errptr rocksdb-write void 32 (opts (* rocksdb-writeoptions)) 33 (batch (* rocksdb-writebatch))) 35 (def-with-errptr rocksdb-get 38 (options (* rocksdb-readoptions)) 39 (key (* unsigned-char)) 43 (def-with-errptr rocksdb-get-with-ts c-string 45 (opts (* rocksdb-readoptions)) 52 (def-with-errptr rocksdb-delete 55 (options (* rocksdb-writeoptions)) 56 (key (* unsigned-char)) 59 (def-with-errptr rocksdb-merge 62 (opt (* rocksdb-writeoptions)) 63 (key (* unsigned-char)) 65 (val (* unsigned-char)) 68 (def-with-errptr rocksdb-merge-cf 71 (opt (* rocksdb-writeoptions)) 72 (cf (* rocksdb-column-family-handle)) 73 (key (* unsigned-char)) 75 (val (* unsigned-char)) 78 (def-with-errptr rocksdb-get-cf 81 (opt (* rocksdb-readoptions)) 82 (cf (* rocksdb-column-family-handle)) 83 (key (* unsigned-char)) 87 (def-with-errptr rocksdb-get-cf-with-ts c-string 89 (opts (* rocksdb-readoptions)) 90 (cf (* rocksdb-column-family-handle)) 97 (define-alien-routine rocksdb-get-db-identity c-string (db (* rocksdb)) (idlen (* size-t))) 99 ;; NOTE 2023-12-19: only the VOID-returning functions in the multi- 100 ;; family perform parallel IO: 101 ;; https://github.com/facebook/rocksdb/wiki/MultiGet-Performance 102 (define-alien-routine rocksdb-multi-get void 104 (opt (* rocksdb-readoptions)) 106 (keys-list (array c-string)) 107 (keys-list-sizes (array size-t)) 108 (values-list (array c-string)) 109 (values-list-sizes (array size-t)) 110 (errs (array rocksdb-errptr))) 112 (define-alien-routine rocksdb-multi-get-with-ts void 114 (opt (* rocksdb-readoptions)) 116 (keys-list (array c-string)) 117 (keys-list-sizes (array size-t)) 118 (values-list (array c-string)) 119 (values-list-sizes (array size-t)) 120 (ts-list (array c-string)) 121 (ts-list-sizes (array size-t)) 122 (errs (array rocksdb-errptr))) 124 (define-alien-routine rocksdb-multi-get-cf void 126 (opt (* rocksdb-readoptions)) 127 (cfs (array rocksdb-column-family-handle)) 129 (keys-list (array c-string)) 130 (keys-list-sizes (array size-t)) 131 (values-list (array c-string)) 132 (values-list-sizes (array size-t)) 133 (errs (array rocksdb-errptr))) 135 (define-alien-routine rocksdb-multi-get-cf-with-ts void 137 (opt (* rocksdb-readoptions)) 138 (cfs (array rocksdb-column-family-handle)) 140 (keys-list (array c-string)) 141 (keys-list-sizes (array size-t)) 142 (values-list (array c-string)) 143 (values-list-sizes (array size-t)) 144 (ts-list (array c-string)) 145 (ts-list-sizes (array size-t)) 146 (errs (array rocksdb-errptr))) 148 (define-alien-routine rocksdb-batched-multi-get-cf void 150 (opts (* rocksdb-readoptions)) 151 (cf (* rocksdb-column-family-handle)) 153 (keys (array c-string)) 154 (key-sizes (array size-t)) 155 (values (array (* rocksdb-pinnableslice))) 156 (errs (array (* rocksdb-errptr))) 157 (sorted-input boolean)) 159 (define-alien-routine rocksdb-key-may-exist unsigned-char 161 (opts (* rocksdb-readoptions)) 167 (timestamp-len size-t) 168 (value-found (* unsigned-char))) 170 (define-alien-routine rocksdb-key-may-exist-cf unsigned-char 172 (opts (* rocksdb-readoptions)) 173 (cf (* rocksdb-column-family-handle)) 179 (timestamp-len size-t) 180 (value-found (* unsigned-char))) 182 (define-alien-routine rocksdb-cache-create-lru (* rocksdb-cache) (capacity size-t)) 184 (def-with-errptr rocksdb-flush void 186 (options (* rocksdb-flushoptions))) 188 (def-with-errptr rocksdb-flush-cf void 190 (opts (* rocksdb-flushoptions)) 191 (cf (* rocksdb-column-family-handle)) 194 (def-with-errptr rocksdb-flush-cfs void 196 (opts (* rocksdb-flushoptions)) 197 (cf (* (* rocksdb-column-family-handle))) 200 (def-with-errptr rocksdb-flush-wal void 202 (sync unsigned-char)) 204 (define-alien-routine rocksdb-delete-file void 208 (define-alien-routine rocksdb-livefile (* rocksdb-livefiles) 212 ;; return NULL if prop name is unknown, else return pointer to 213 ;; malloc-ed null-term value. 214 (define-alien-routine rocksdb-property-value c-string 218 ;; return 0 on success, else -1 219 (define-alien-routine rocksdb-property-int int 223 (define-alien-routine rocksdb-property-value-cf c-string 225 (cf (* rocksdb-column-family-handle)) 228 (define-alien-routine rocksdb-property-int-cf int 230 (cf (* rocksdb-column-family-handle)) 234 (def-with-errptr rocksdb-create-column-family 235 (* rocksdb-column-family-handle) 237 (column-family-options (* rocksdb-options)) 238 (column-family-name c-string)) 240 (def-with-errptr rocksdb-create-column-families 241 (array rocksdb-column-family-handle) 243 (column-family-options (* rocksdb-options)) 244 (num-column-familes int) 245 (column-family-names (array c-string)) 248 (define-alien-routine rocksdb-create-column-families-destroy void 249 (list (array rocksdb-column-family-handle))) 251 (def-with-errptr rocksdb-create-column-family-with-ttl (* rocksdb-column-family-handle) 253 (cf-opts (* rocksdb-options)) 257 (define-alien-routine rocksdb-column-family-handle-destroy void 258 (cf (* rocksdb-column-family-handle))) 260 (define-alien-routine rocksdb-column-family-handle-get-id unsigned-int 261 (cf (* rocksdb-column-family-handle))) 263 (define-alien-routine rocksdb-column-family-handle-get-name c-string 264 (handle (* rocksdb-column-family-handle)) 265 (name-len (* size-t))) 267 (def-with-errptr rocksdb-drop-column-family 270 (handle (* rocksdb-column-family-handle))) 272 (define-alien-routine rocksdb-get-default-column-family-handle (* rocksdb-column-family-handle) 275 (def-with-errptr rocksdb-list-column-families 277 (opt (* rocksdb-options)) 281 (define-alien-routine rocksdb-list-column-families-destroy void 282 (list (array c-string)) 285 (def-with-errptr rocksdb-put-cf 288 (opt (* rocksdb-writeoptions)) 289 (cf (* rocksdb-column-family-handle)) 290 (key (* unsigned-char)) 292 (val (* unsigned-char)) 295 (def-with-errptr rocksdb-put-with-ts void 297 (opt (* rocksdb-writeoptions)) 298 (key (* unsigned-char)) 302 (val (* unsigned-char)) 305 (def-with-errptr rocksdb-put-cf-with-ts void 307 (opt (* rocksdb-writeoptions)) 308 (cf (* rocksdb-column-family-handle)) 309 (key (* unsigned-char)) 313 (val (* unsigned-char)) 316 (def-with-errptr rocksdb-delete-cf 319 (options (* rocksdb-writeoptions)) 320 (cf (* rocksdb-column-family-handle)) 321 (key (* unsigned-char)) 324 (def-with-errptr rocksdb-delete-with-ts 327 (options (* rocksdb-writeoptions)) 328 (key (* unsigned-char)) 333 (def-with-errptr rocksdb-delete-cf-with-ts 336 (options (* rocksdb-writeoptions)) 337 (cf (* rocksdb-column-family-handle)) 338 (key (* unsigned-char)) 343 (def-with-errptr rocksdb-singledelete void 345 (opts (* rocksdb-writeoptions)) 349 (def-with-errptr rocksdb-singledelete-with-ts void 351 (opts (* rocksdb-writeoptions)) 357 (def-with-errptr rocksdb-singledelete-cf-with-ts void 359 (opts (* rocksdb-writeoptions)) 360 (cf (* rocksdb-column-family-handle)) 366 (def-with-errptr rocksdb-singledelete-cf void 368 (opts (* rocksdb-writeoptions)) 369 (cf (* rocksdb-column-family-handle)) 373 (def-with-errptr rocksdb-increase-full-history-ts-low void 375 (cf (* rocksdb-column-family-handle)) 379 (def-with-errptr rocksdb-get-full-history-ts-low c-string 381 (cf (* rocksdb-column-family-handle)) 382 (ts-lowlen (* size-t))) 384 (def-with-errptr rocksdb-delete-range-cf 387 (options (* rocksdb-writeoptions)) 388 (cf (* rocksdb-column-family-handle)) 389 (start-key (* unsigned-char)) 390 (start-key-len size-t) 391 (end-key (* unsigned-char)) 392 (end-key-len size-t)) 394 (def-with-errptr rocksdb-disable-file-deletions void 397 (def-with-errptr rocksdb-enable-file-deletions void 400 (def-with-errptr rocksdb-destroy-db void 401 (opts (* rocksdb-options)) 404 (def-with-errptr rocksdb-repair-db void 405 (opts (* rocksdb-options)) 409 (define-alien-routine rocksdb-create-iterator (* rocksdb-iterator) 411 (opt (* rocksdb-readoptions))) 413 (define-alien-routine rocksdb-get-updates-since (* rocksdb-wal-iterator) 415 (opts (* rocksdb-readoptions))) 417 (define-alien-routine rocksdb-create-iterator-cf (* rocksdb-iterator) 419 (opt (* rocksdb-readoptions)) 420 (cf (* rocksdb-column-family-handle))) 422 (def-with-errptr rocksdb-create-iterators void 424 (opts (* rocksdb-readoptions)) 425 (cfs (array (* rocksdb-column-family-handle))) 426 (iters (array (* rocksdb-iterator)))) 428 (define-alien-routine rocksdb-iter-destroy void 429 (iter (* rocksdb-iterator))) 430 (define-alien-routine rocksdb-iter-seek-to-first void 431 (iter (* rocksdb-iterator))) 432 (define-alien-routine rocksdb-iter-seek-to-last void 433 (iter (* rocksdb-iterator))) 434 (define-alien-routine rocksdb-iter-seek void 435 (iter (* rocksdb-iterator)) 436 (k (* unsigned-char)) 438 (define-alien-routine rocksdb-iter-seek-for-prev void 439 (iter (* rocksdb-iterator)) 440 (k (* unsigned-char)) 442 (define-alien-routine rocksdb-iter-valid boolean 443 (iter (* rocksdb-iterator))) 444 (define-alien-routine rocksdb-iter-next void 445 (iter (* rocksdb-iterator))) 446 (define-alien-routine rocksdb-iter-prev void 447 (iter (* rocksdb-iterator))) 448 (define-alien-routine rocksdb-iter-key (* unsigned-char) 449 (iter (* rocksdb-iterator)) 450 (klen-ptr (* size-t))) 451 (define-alien-routine rocksdb-iter-value (* unsigned-char) 452 (iter (* rocksdb-iterator)) 453 (vlen-ptr (* size-t))) 454 (define-alien-routine rocksdb-iter-timestamp (* unsigned-char) 455 (iter (* rocksdb-iterator)) 457 (def-with-errptr rocksdb-iter-get-error void (iter (* rocksdb-iterator))) 458 (define-alien-routine rocksdb-wal-iter-next void (iter (* rocksdb-wal-iterator))) 459 (define-alien-routine rocksdb-wal-iter-valid unsigned-char (iter (* rocksdb-wal-iterator))) 460 (def-with-errptr rocksdb-wal-iter-status unsigned-char (iter (* rocksdb-wal-iterator))) 461 (define-alien-routine rocksdb-wal-iter-get-batch (* rocksdb-writebatch) 462 (iter (* rocksdb-wal-iterator)) 463 (seq (* (unsigned 64)))) 464 (define-alien-routine rockdsb-get-latest-sequence-number (unsigned 64) (db (* rocksdb))) 465 (define-alien-routine rocksdb-wal-iter-destroy void 466 (iter (* rocksdb-wal-iterator))) 469 (def-with-errptr rocksdb-backup-engine-verify-backup void 470 (be (* rocksdb-backup-engine)) 471 (backup-id (unsigned 32))) 473 (def-with-errptr rocksdb-backup-engine-open 474 (* rocksdb-backup-engine) 475 (opts (* rocksdb-options)) 478 (def-with-errptr rocksdb-backup-engine-create-new-backup 480 (be (* rocksdb-backup-engine)) 483 (def-with-errptr rocksdb-backup-engine-restore-db-from-latest-backup 485 (be (* rocksdb-backup-engine)) 488 (res-opts (* rocksdb-restore-options))) 490 (def-with-errptr rocksdb-backup-engine-restore-db-from-backup 492 (be (* rocksdb-backup-engine)) 495 (res-opts (* rocksdb-restore-options)) 496 (backup-id unsigned-int)) 498 (define-alien-routine rocksdb-backup-engine-close void 499 (be (* rocksdb-backup-engine))) 501 (define-alien-routine rocksdb-backup-engine-get-backup-info (* rocksdb-backup-engine-info) 502 (be (* rocksdb-backup-engine))) 503 (define-alien-routine rocksdb-backup-engine-info-count int 504 (info (* rocksdb-backup-engine-info))) 505 (define-alien-routine rocksdb-backup-engine-info-timestamp (signed 64) 506 (info (* rocksdb-backup-engine-info)) 508 (define-alien-routine rocksdb-backup-engine-info-backup-id (unsigned 64) 509 (info (* rocksdb-backup-engine-info)) 511 (define-alien-routine rocksdb-backup-engine-info-size (unsigned 64) 512 (info (* rocksdb-backup-engine-info)) 514 (define-alien-routine rocksdb-backup-engine-info-num-files (unsigned 32) 515 (info (* rocksdb-backup-engine-info)) 517 (define-alien-routine rocksdb-backup-engine-info-destroy void 518 (info (* rocksdb-backup-engine-info))) 521 (def-with-errptr rocksdb-transactiondb-create-column-family (* rocksdb-column-family-handle) 522 (txn-db (* rocksdb-transactiondb)) 523 (cf-options (* rocksdb-options)) 526 (def-with-errptr rocksdb-transactiondb-open (* rocksdb-transactiondb) 527 (opts (* rocksdb-options)) 528 (topts (* rocksdb-transactiondb-options)) 531 (def-with-errptr rocksdb-transactiondb-open-column-families (* rocksdb-transactiondb) 532 (opts (* rocksdb-options)) 533 (txn-db-opts (* rocksdb-transactiondb-options)) 536 (cf-names (array c-string)) 537 (cf-opfs (* rocksdb-options)) 538 (cf-handles (array (* rocksdb-column-family-handle)))) 540 (define-alien-routine rocksdb-transactiondb-create-snapshot (* rocksdb-snapshot) 541 (txn-db (* rocksdb-transactiondb)) 542 (snapshot (* rocksdb-snapshot))) 544 (define-alien-routine rocksdb-transactiondb-release-snapshot void 545 (txn-db (* rocksdb-transactiondb)) 546 (snapshot (* rocksdb-snapshot))) 548 (define-alien-routine rocksdb-transactiondb-property-value c-string 549 (db (* rocksdb-transactiondb)) 552 (define-alien-routine rocksdb-transactiondb-property-int int 553 (db (* rocksdb-transactiondb)) 555 (out-val (unsigned 64))) 557 (define-alien-routine rocksdb-transactiondb-get-base-db (* rocksdb) 558 (txn-db (* rocksdb-transactiondb))) 560 (define-alien-routine rocksdb-transactiondb-get-close-db void 561 (base-db (* rocksdb))) 563 (define-alien-routine rocksdb-transaction-begin (* rocksdb-transaction) 564 (wopts (* rocksdb-writeoptions)) 565 (topts (* rocksdb-transaction-options)) 566 (told (* rocksdb-transaction))) 568 (define-alien-routine rocksdb-transactiondb-get-prepared-transactions (array (* rocksdb-transaction)) 569 (txn-db (* rocksdb-transactiondb)) 572 (def-with-errptr rocksdb-transaction-set-name void 573 (txn (* rocksdb-transaction)) 577 (define-alien-routine rocksdb-transaction-get-name c-string 578 (txn (* rocksdb-transaction)) 579 (name-len (* size-t))) 581 (def-with-errptr rocksdb-transaction-prepare void 582 (txn (* rocksdb-transaction))) 584 (def-with-errptr rocksdb-transaction-commit void 585 (txn (* rocksdb-transaction))) 587 (def-with-errptr rocksdb-transaction-rollback void 588 (txn (* rocksdb-transaction))) 590 (define-alien-routine rocksdb-transaction-set-savepoint void 591 (txn (* rocksdb-transaction))) 593 (def-with-errptr rocksdb-transaction-rollback-to-savepoint void 594 (txn (* rocksdb-transaction))) 596 (define-alien-routine rocksdb-transaction-destroy void 597 (txn (* rocksdb-transaction))) 599 (define-alien-routine rocksdb-transaction-get-writebach-wi (* rocksdb-writebatch-wi) 600 (txn (* rocksdb-transaction))) 602 (def-with-errptr rocksdb-transaction-delete void 603 (txn (* rocksdb-transaction)) 607 (def-with-errptr rocksdb-transaction-delete-cf void 608 (txn (* rocksdb-transaction)) 609 (cf (* rocksdb-column-family-handle)) 613 (def-with-errptr rocksdb-transactiondb-delete void 614 (txndb (* rocksdb-transactiondb)) 615 (opts (* rocksdb-writeoptions)) 619 (def-with-errptr rocksdb-transactiondb-delete-cf void 620 (txndb (* rocksdb-transactiondb)) 621 (opts (* rocksdb-writeoptions)) 622 (cf (* rocksdb-column-family-handle)) 626 (define-alien-routine rocksdb-transaction-create-iterator (* rocksdb-iterator) 627 (txn (* rocksdb-transaction)) 628 (opts (* rocksdb-readoptions))) 630 (define-alien-routine rocksdb-transaction-create-iterator-cf (* rocksdb-iterator) 631 (txn (* rocksdb-transaction)) 632 (opts (* rocksdb-readoptions)) 633 (cf (* rocksdb-column-family-handle))) 635 (define-alien-routine rocksdb-transactiondb-create-iterator (* rocksdb-iterator) 636 (txndb (* rocksdb-transactiondb)) 637 (opts (* rocksdb-readoptions))) 639 (define-alien-routine rocksdb-transactiondb-create-iterator-cf (* rocksdb-iterator) 640 (txndb (* rocksdb-transactiondb)) 641 (opts (* rocksdb-readoptions)) 642 (cf (* rocksdb-column-family-handle))) 644 (define-alien-routine rocksdb-transactiondb-close void 645 (tdb (* rocksdb-transactiondb))) 647 (def-with-errptr rocksdb-transactiondb-flush void 648 (txndb (* rocksdb-transactiondb)) 649 (opts (* rocksdb-flushoptions))) 651 (def-with-errptr rocksdb-transactiondb-flush-cf void 652 (txndb (* rocksdb-transactiondb)) 653 (opts (* rocksdb-flushoptions)) 654 (cf (* rocksdb-column-family-handle))) 656 (def-with-errptr rocksdb-transactiondb-flush-cfs void 657 (txndb (* rocksdb-transactiondb)) 658 (opts (* rocksdb-flushoptions)) 659 (cfs (array (* rocksdb-column-family-handle))) 662 (def-with-errptr rocksdb-transactiondb-flush-wal void 663 (txndb (* rocksdb-transactiondb)) 664 (sync unsigned-char)) 666 (def-with-errptr rocksdb-transactiondb-checkpoint-object-create (* rocksdb-checkpoint) 667 (txn-db (* rocksdb-transactiondb))) 669 (def-with-errptr rocksdb-optimistictransactiondb-open (* rocksdb-optimistictransactiondb) 670 (opts (* rocksdb-options)) 673 (def-with-errptr rocksdb-optimistictransactiondb-open-column-families (* rocksdb-optimistictransactiondb) 674 (opts (* rocksdb-options)) 677 (cf-names (array c-string)) 678 (cf-opts (array (* rocksdb-options))) 679 (cf-handles (array (* rocksdb-column-family-handle)))) 681 (define-alien-routine rocksdb-optimistictransactiondb-get-base-db (* rocksdb) 682 (otxn-db (* rocksdb-optimistictransactiondb))) 684 (define-alien-routine rocksdb-optimistictransactiondb-close-base-db void 685 (base-db (* rocksdb))) 687 (define-alien-routine rocksdb-optimistictransaction-begin (* rocksdb-transaction) 688 (otxn-db (* rocksdb-optimistictransactiondb)) 689 (wopts (* rocksdb-writeoptions)) 690 (otxn-opts (* rocksdb-optimistictransaction-options)) 691 (old-txn (* rocksdb-transaction))) 693 (def-with-errptr rocksdb-optimistictransactiondb-write void 694 (otxn-db (* rocksdb-optimistictransactiondb)) 695 (wopts (* rocksdb-writeoptions)) 696 (batch (* rocksdb-writebatch))) 698 (define-alien-routine rocksdb-optimistictransactiondb-close void 699 (otxn-db (* rocksdb-optimistictransactiondb))) 701 (def-with-errptr rocksdb-optimistictransactiondb-checkpoint-object-create (* rocksdb-checkpoint) 702 (otxn-db (* rocksdb-optimistictransactiondb))) 705 (define-alien-routine rocksdb-set-perf-level void (val int)) 707 (define-alien-routine rocksdb-perfcontext-create (* rocksdb-perfcontext)) 709 (define-alien-routine rocksdb-perfcontext-reset void (ctx (* rocksdb-perfcontext))) 711 (define-alien-routine rocksdb-perfcontext-report (* unsigned-char) 712 (context (* rocksdb-perfcontext)) 713 (exclude-zero-counters unsigned-char)) 715 (define-alien-routine rocksdb-perfcontext-metric unsigned-long 716 (context (* rocksdb-perfcontext)) (metric int)) 718 ;; TODO 2024-05-24: causes compile error - pass-by-struct not supported 719 ;; (define-alien-routine rocksdb-perfcontext-destroy void (* rocksdb-perfcontext)) 722 (define-alien-routine rocksdb-filterpolicy-destroy void (self (* rocksdb-filterpolicy))) 724 (define-alien-routine rocksdb-filterpolicy-create-bloom (* rocksdb-filterpolicy) 725 (bits-per-key double)) 727 (define-alien-routine rocksdb-filterpolicy-create-bloom-full (* rocksdb-filterpolicy) 728 (bits-per-key double)) 730 (define-alien-routine rocksdb-filterpolicy-create-ribbon (* rocksdb-filterpolicy) 731 (bloom-equivalent-bits-per-key double)) 733 (define-alien-routine rocksdb-filterpolicy-create-ribbon-hybrid (* rocksdb-filterpolicy) 734 (bloom-equivalent-bits-per-key double) 735 (bloom-before-level int)) 738 (define-alien-routine rocksdb-create-snapshot (* rocksdb-snapshot) 741 (define-alien-routine rocksdb-snapshot-get-sequence-number (unsigned 64) 742 (snapshot (* rocksdb-snapshot))) 744 (define-alien-routine rocksdb-release-snapshot void 746 (snapshot (* rocksdb-snapshot)))