changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/rocksdb/sst.lisp

changeset 293: e2e5c4831389
parent: 00d1c8afcdbb
child: c7f9bfc9570f
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 24 Apr 2024 16:12:15 -0400
permissions: -rw-r--r--
description: std fixes and rdb with-sst
1 ;;; rocksdb/sst.lisp --- SST Files
2 
3 ;; Functions for writing and ingesting SST Files directly.
4 
5 ;;; Refs:
6 
7 ;; https://github.com/facebook/rocksdb/wiki/Creating-and-Ingesting-SST-files
8 
9 ;;; Code:
10 (in-package :rocksdb)
11 
12 (define-alien-routine rocksdb-sstfilewriter-create (* rocksdb-sstfilewriter)
13  (env-opts (* rocksdb-envoptions))
14  (io-options (* rocksdb-options)))
15 
16 (define-alien-routine rocksdb-sstfilewriter-create-with-comparator (* rocksdb-sstfilewriter)
17  (env-opts (* rocksdb-envoptions))
18  (io-options (* rocksdb-options))
19  (comparator (* rocksdb-comparator)))
20 
21 (define-alien-routine rocksdb-sstfilewriter-destroy void (writer (* rocksdb-sstfilewriter)))
22 
23 (export '(rocksdb-sstfilewriter-create rocksdb-sstfilewriter-create-with-comparator
24  rocksdb-sstfilewriter-destroy))
25 
26 (def-with-errptr rocksdb-sstfilewriter-open void
27  (writer (* rocksdb-sstfilewriter))
28  (name c-string))
29 
30 (def-with-errptr rocksdb-sstfilewriter-add void
31  (writer (* rocksdb-sstfilewriter))
32  (key (* unsigned-char))
33  (keylen size-t)
34  (val (* unsigned-char))
35  (vallen size-t))
36 
37 (def-with-errptr rocksdb-sstfilewriter-put void
38  (writer (* rocksdb-sstfilewriter))
39  (key (* unsigned-char))
40  (keylen size-t)
41  (val (* unsigned-char))
42  (vallen size-t))
43 
44 (def-with-errptr rocksdb-sstfilewriter-put-with-ts void
45  (writer (* rocksdb-sstfilewriter))
46  (key (* char))
47  (keylen size-t)
48  (ts (* char))
49  (tslen size-t)
50  (val (* char))
51  (vallen size-t))
52 
53 (def-with-errptr rocksdb-sstfilewriter-merge void
54  (writer (* rocksdb-sstfilewriter))
55  (key (* char))
56  (keylen size-t)
57  (val (* char))
58  (vallen size-t))
59 
60 (def-with-errptr rocksdb-sstfilewriter-delete void
61  (writer (* rocksdb-sstfilewriter))
62  (key (* char))
63  (keylen size-t))
64 
65 (def-with-errptr rocksdb-sstfilewriter-delete-with-ts void
66  (writer (* rocksdb-sstfilewriter))
67  (key (* char))
68  (keylen size-t)
69  (ts (* char))
70  (tslen size-t))
71 
72 (def-with-errptr rocksdb-sstfilewriter-delete-range void
73  (writer (* rocksdb-sstfilewriter))
74  (begin-key (* char))
75  (begin-keylen size-t)
76  (end-key (* char))
77  (end-keylen size-t))
78 
79 (def-with-errptr rocksdb-sstfilewriter-finish void
80  (writer (* rocksdb-sstfilewriter)))
81 
82 (def-with-errptr rocksdb-sstfilewriter-file-size void
83  (writer (* rocksdb-sstfilewriter))
84  (file-size (* unsigned-long)))
85 
86 (def-with-errptr rocksdb-ingest-external-file void
87  (db (* rocksdb))
88  (file-list (* c-string))
89  (list-len size-t)
90  (opt (* rocksdb-ingestexternalfileoptions)))
91 
92 (def-with-errptr rocksdb-ingest-external-file-cf void
93  (db (* rocksdb))
94  (cf-handle (* rocksdb-column-family-handle))
95  (file-list (array c-string))
96  (list-len size-t)
97  (opt (* rocksdb-ingestexternalfileoptions)))
98 
99 (def-with-errptr rocksdb-try-catch-up-with-primary void
100  (db (* rocksdb)))