changelog shortlog graph tags branches files raw help

Mercurial > core / changeset: init writebatch

changeset 610: 3dc5c63cdba7
parent 609: 71433df733a9
child 611: 57813b8ee029
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 18 Aug 2024 22:00:23 -0400
files: lisp/ffi/rocksdb/pkg.lisp lisp/ffi/rocksdb/tests.lisp lisp/ffi/rocksdb/writebatch.lisp
description: init writebatch
     1.1--- a/lisp/ffi/rocksdb/pkg.lisp	Sun Aug 18 21:42:20 2024 -0400
     1.2+++ b/lisp/ffi/rocksdb/pkg.lisp	Sun Aug 18 22:00:23 2024 -0400
     1.3@@ -290,7 +290,24 @@
     1.4    :rocksdb-log-function
     1.5    :rocksdb-logger-create-callback-logger
     1.6    :rocksdb-log-default
     1.7-   :rocksdb-logger-create-stderr-logger))
     1.8+   :rocksdb-logger-create-stderr-logger
     1.9+   :rocksdb-writebatch-create
    1.10+   :rocksdb-writebatch-create-from
    1.11+   :rocksdb-writebatch-create-with-params
    1.12+   :rocksdb-writebatch-destroy
    1.13+   :rocksdb-writebatch-delete-cf-with-ts
    1.14+   :rocksdb-writebatch-delete-cf
    1.15+   :rocksdb-writebatch-delete
    1.16+   :rocksdb-writebatch-putv-cf
    1.17+   :rocksdb-writebatch-putv
    1.18+   :rocksdb-writebatch-put-cf-with-ts
    1.19+   :rocksdb-writebatch-put-cf
    1.20+   :rocksdb-writebatch-put
    1.21+   :rocksdb-writebatch-count
    1.22+   :rocksdb-writebatch-clear
    1.23+   :rocksdb-writebatch-wi-create-with-params
    1.24+   :rocksdb-writebatch-wi-create-from
    1.25+   :rocksdb-writebatch-wi-create))
    1.26 
    1.27 (in-package :rocksdb)
    1.28 
     2.1--- a/lisp/ffi/rocksdb/tests.lisp	Sun Aug 18 21:42:20 2024 -0400
     2.2+++ b/lisp/ffi/rocksdb/tests.lisp	Sun Aug 18 22:00:23 2024 -0400
     2.3@@ -462,3 +462,7 @@
     2.4     (is (typep
     2.5          (rocksdb-logger-create-callback-logger lev log state)
     2.6          '(alien (* rocksdb-logger))))))
     2.7+
     2.8+(deftest writebatch ()
     2.9+  "Test writebatch functionality."
    2.10+  nil)
     3.1--- a/lisp/ffi/rocksdb/writebatch.lisp	Sun Aug 18 21:42:20 2024 -0400
     3.2+++ b/lisp/ffi/rocksdb/writebatch.lisp	Sun Aug 18 22:00:23 2024 -0400
     3.3@@ -5,12 +5,104 @@
     3.4 ;;; Code:
     3.5 (in-package :rocksdb)
     3.6 
     3.7+(define-alien-routine rocksdb-writebatch-create (* rocksdb-writebatch))
     3.8+(define-alien-routine rocksdb-writebatch-create-from (* rocksdb-writebatch)
     3.9+  (rep c-string)
    3.10+  (size size-t))
    3.11+
    3.12+(define-alien-routine rocksdb-writebatch-create-with-params (* rocksdb-writebatch)
    3.13+  (reserved-bytes size-t)
    3.14+  (max-bytes size-t)
    3.15+  (protection-bytes-per-key size-t)
    3.16+  (default-cf-ts-sz size-t))
    3.17+
    3.18+(define-alien-routine rocksdb-writebatch-destroy void (batch (* rocksdb-writebatch)))
    3.19+
    3.20+(define-alien-routine rocksdb-writebatch-clear void (b (* rocksdb-writebatch)))
    3.21+(define-alien-routine rocksdb-writebatch-count int (b (* rocksdb-writebatch)))
    3.22+
    3.23 ;; put
    3.24+(define-alien-routine rocksdb-writebatch-put void
    3.25+  (batch (* rocksdb-writebatch))
    3.26+  (key (array unsigned-char))
    3.27+  (klen size-t)
    3.28+  (val (array unsigned-char))
    3.29+  (vlen size-t))
    3.30 
    3.31-;; deleted
    3.32+(define-alien-routine rocksdb-writebatch-put-cf void
    3.33+  (batch (* rocksdb-writebatch))
    3.34+  (cf (* rocksdb-column-family-handle))
    3.35+  (key (array unsigned-char))
    3.36+  (klen size-t)
    3.37+  (val (array unsigned-char))
    3.38+  (vlen size-t))
    3.39+
    3.40+(define-alien-routine rocksdb-writebatch-put-cf-with-ts void
    3.41+  (batch (* rocksdb-writebatch))
    3.42+  (cf (* rocksdb-column-family-handle))
    3.43+  (key (array unsigned-char))
    3.44+  (klen size-t)
    3.45+  (ts (array unsigned-char))
    3.46+  (tslen size-t)
    3.47+  (val (array unsigned-char))
    3.48+  (vlen size-t))
    3.49+
    3.50+(define-alien-routine rocksdb-writebatch-putv void
    3.51+  (batch (* rocksdb-writebatch))
    3.52+  (num-keys int)
    3.53+  (keys-list (array (array unsigned-char)))
    3.54+  (keys-sizes (array size-t))
    3.55+  (num-values int)
    3.56+  (values-list (array (array unsigned-char)))
    3.57+  (values-list-sizes (array size-t)))
    3.58 
    3.59-;; put-cf
    3.60+(define-alien-routine rocksdb-writebatch-putv-cf void
    3.61+  (batch (* rocksdb-writebatch))
    3.62+  (cf (* rocksdb-column-family-handle))
    3.63+  (num-keys int)
    3.64+  (keys-list (array (array unsigned-char)))
    3.65+  (keys-sizes (array size-t))
    3.66+  (num-values int)
    3.67+  (values-list (array (array unsigned-char)))
    3.68+  (values-list-sizes (array size-t)))
    3.69+
    3.70+;; delete
    3.71+(define-alien-routine rocksdb-writebatch-delete void
    3.72+  (batch (* rocksdb-writebatch))
    3.73+  (key (array unsigned-char))
    3.74+  (klen size-t))
    3.75+
    3.76+(define-alien-routine rocksdb-writebatch-delete-cf void
    3.77+  (batch (* rocksdb-writebatch))
    3.78+  (cf (* rocksdb-column-family-handle))
    3.79+  (key (array unsigned-char))
    3.80+  (klen size-t))
    3.81 
    3.82-;; deleted-cf
    3.83+(define-alien-routine rocksdb-writebatch-delete-cf-with-ts void
    3.84+  (batch (* rocksdb-writebatch))
    3.85+  (cf (* rocksdb-column-family-handle))
    3.86+  (key (array unsigned-char))
    3.87+  (klen size-t)
    3.88+  (ts (array unsigned-char))
    3.89+  (tslen size-t))
    3.90+
    3.91+;; merge
    3.92+
    3.93+;; savepoints
    3.94+
    3.95+;; with-index (wi)
    3.96 
    3.97-;; merge-cf
    3.98+(define-alien-routine rocksdb-writebatch-wi-create (* rocksdb-writebatch-wi)
    3.99+  (reserved-bytes size-t)
   3.100+  (overwrite-keys unsigned-char))
   3.101+
   3.102+(define-alien-routine rocksdb-writebatch-wi-create-from (* rocksdb-writebatch-wi)
   3.103+  (rep (array unsigned-char))
   3.104+  (size size-t))
   3.105+
   3.106+(define-alien-routine rocksdb-writebatch-wi-create-with-params (* rocksdb-writebatch-wi)
   3.107+  (backup-index-comparator (* rocksdb-comparator))
   3.108+  (reserved-bytes size-t)
   3.109+  (overwrite-key unsigned-char)
   3.110+  (max-bytes size-t)
   3.111+  (protection-bytes-per-key size-t))