18
|
1
|
;;; rdb.lisp --- High-level RocksDB API |
|
2
|
|
|
3
|
;; a thin ORM for working with RocksDB storage. |
|
4
|
|
|
5
|
;; Low-level bindings are in rocksdb.lisp. |
|
6
|
|
|
7
|
;; Commentary: |
|
8
|
|
|
9
|
;; Code: |
93
|
10
|
(defpackage :rdb |
96
|
11
|
(:use :cl :std :rocksdb :sb-alien) |
18
|
12
|
(:import-from :sb-ext :string-to-octets :octets-to-string) |
|
13
|
(:export |
93
|
14
|
;; err |
98
|
15
|
:with-errptr |
99
|
16
|
:rdb-error |
|
17
|
:rocksdb-error |
|
18
|
:rdb-user-error |
93
|
19
|
:put-kv-error |
|
20
|
:get-kv-error |
99
|
21
|
:handle-errptr |
93
|
22
|
;; util |
99
|
23
|
:make-rocksdb-options :default-rocksdb-options |
93
|
24
|
:open-db-raw :with-open-db-raw |
|
25
|
:close-db-raw :destroy-db-raw |
|
26
|
:put-kv-raw :put-kv-str-raw |
|
27
|
:get-kv-raw :get-kv-str-raw |
|
28
|
:put-cf-raw :put-cf-str-raw |
|
29
|
:get-cf-raw :get-cf-str-raw |
|
30
|
:create-iter :with-iter |
|
31
|
:iter-key :iter-key-str |
|
32
|
:iter-val :iter-val-str |
|
33
|
;; proto |
94
|
34
|
:put-key :put-kv |
|
35
|
:get-key :get-kv |
|
36
|
:put-cf-key :get-cf-key |
|
37
|
:push-sap :push-sap* |
|
38
|
:get-opt :set-opt |
|
39
|
:push-cf :init-db |
|
40
|
:insert-kv :insert-key |
95
|
41
|
:make-db :open-db :close-db :destroy-db |
93
|
42
|
;; obj |
94
|
43
|
:rdb :make-rdb |
93
|
44
|
:rdb-db :rdb-name :rdb-cfs :rdb-opts |
95
|
45
|
:rdb-bytes :rdb-bytes-buffer |
97
|
46
|
:make-rdb-key :make-rdb-kv :make-rdb-val :rdb-kv :rdb-key :rdb-val |
93
|
47
|
:rdb-opts :make-rdb-opts |
|
48
|
:default-rdb-opts |
|
49
|
:rdb-cf :make-rdb-cf :create-cf |
|
50
|
:rdb-cf-sap :rdb-cf-name |
|
51
|
;; macs |
|
52
|
:with-db |
|
53
|
:with-cf)) |