changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/rocksdb/slicetransform.lisp

changeset 698: 96958d3eb5b0
parent: 57813b8ee029
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
611
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 ;;; rocksdb/slicetransform.lisp --- RocksDB SliceTransform
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 ;; These are used primarily in transactions
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Refs:
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 ;; https://rocksdb.org/blog/2017/08/24/pinnableslice.html
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 ;; https://github.com/facebook/rocksdb/blob/main/include/rocksdb/slice_transform.h
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 ;;; Code:
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 (in-package :rocksdb)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 (define-alien-type rocksdb-transform-function
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
     (function (array unsigned-char)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
               (array unsigned-char)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
               size-t
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
               (* size-t)))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
 (define-alien-type rocksdb-in-domain-function
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
   (function unsigned-char
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
             (* t)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
             (array unsigned-char)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
             size-t))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 (define-alien-type rocksdb-in-range-function
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
   (function unsigned-char
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
             (* t)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
             (array unsigned-char)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
             size-t))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 (define-alien-routine rocksdb-slicetransform-create (* rocksdb-slicetransform)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
   (state (* t))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
   (destructor (* rocksdb-destructor-function))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
   (transform (* rocksdb-transform-function))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
   (in-domain (* rocksdb-in-domain-function))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
   (in-range (* rocksdb-in-range-function))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
   (name (* rocksdb-name-function)))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 (define-alien-routine rocksdb-slicetransform-create-noop (* rocksdb-slicetransform))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 (define-alien-routine rocksdb-slicetransform-create-fixed-prefix (* rocksdb-slicetransform)
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
   (n size-t))
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
 
57813b8ee029 more rocksdb work, slice -> slicetransform
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
 (define-alien-routine rocksdb-slicetransform-destroy void (st (* rocksdb-slicetransform)))