changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/rdb/db.lisp

changeset 698: 96958d3eb5b0
parent: 5f88b237ce29
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
1 ;;; rdb/db.lisp --- RDB Database API
2 
3 ;; RocksDB Implementation of OBJ/DB protocol.
4 
5 ;;; Code:
6 (in-package :rdb)
7 
8 (defmethod load-opts ((db rdb))
9  (rocksdb::with-latest-options (rdb-name db) (db-opts cf-names cf-opts)
10  (let ((cfs (coerce
11  (loop for name across cf-names
12  for opt across cf-opts
13  collect
14  (let ((cf-opts (make-rdb-opts)))
15  (setf (rdb-opts-sap cf-opts) opt)
16  (make-rdb-cf name :opts cf-opts)))
17  'vector)))
18  (setf (rdb-opts db) (make-rdb-opts* db-opts)
19  (rdb-cfs db) cfs))))
20 
21 (defmethod make-db ((engine (eql :rocksdb)) &rest initargs)
22  (declare (ignore engine))
23  (funcall 'make-rdb initargs))
24 
25 (defmethod connect-db ((db rdb) &key) db)
26 
27 (defmethod query-db ((db rdb) (query (eql :get)) &key key &allow-other-keys)
28  (declare (ignore query))
29  (get-key db key))
30 
31 (defclass rdb-collection (database-collection)
32  ((collection :initform (coerce nil db::*default-database-collection-type*))))