changelog shortlog graph tags branches changeset files revisions annotate raw help

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

changeset 598: c7f9bfc9570f
parent: 4a1a21ff46ee
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 16 Aug 2024 15:52:50 -0400
permissions: -rw-r--r--
description: rm duplicate files, add rocksdb batch and logger files
1 ;;; rocksdb/slice.lisp --- RocksDB SliceTransform and PinnableSlice
2 
3 ;; These are used primarily in transactions
4 
5 ;;; Refs:
6 
7 ;; https://rocksdb.org/blog/2017/08/24/pinnableslice.html
8 
9 ;; https://github.com/facebook/rocksdb/blob/main/include/rocksdb/slice_transform.h
10 
11 ;;; Code:
12 (in-package :rocksdb)
13 
14 (define-alien-routine rocksdb-slicetransform-create (* rocksdb-slicetransform)
15  (state (* t))
16  (destructor (* t))
17  (transform (* t))
18  (in-domain (* t))
19  (in-range (* t))
20  (name (* t)))
21 
22 (define-alien-routine rocksdb-slicetransform-create-noop (* rocksdb-slicetransform))
23 
24 (define-alien-routine rocksdb-slicetransform-create-fixed-prefix (* rocksdb-slicetransform)
25  (n size-t))
26 
27 (define-alien-routine rocksdb-slicetransform-destroy void (st (* rocksdb-slicetransform)))