Coverage report: /home/ellis/comp/core/app/packy/db.lisp

KindCoveredAll%
expression623 26.1
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; db.lisp --- Packy Database
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :packy)
7
 
8
 (defvar *packy-backend-options* rdb::*rdb-backend-options*)
9
 
10
 (set-database-backend :packy *packy-backend-options*
11
                       (lambda () (db::%load-database-backend :rdb)))
12
 
13
 (defclass packy-schema (rdb-schema) ()
14
   (:default-initargs
15
    :fields (make-fields :id '(fixnum . string)
16
                         :name '(string . fixnum)
17
                         :hash '(fixnum . (octet-vector 32))
18
                         :installed '(fixnum . octet-vector)
19
                         :updated '(fixnum . octet-vector)
20
                         :path '(fixnum . pathname)
21
                         :type '(fixnum . octet)
22
                         :tags '(fixnum . (array string))
23
                         :uri '(fixnum . string))))
24
 
25
 (defclass packy-db (rdb-database) ()
26
   (:default-initargs 
27
    :db (make-db :rocksdb 
28
                 :name (namestring (merge-pathnames "db/" *packy-home*))
29
                 :opts (default-rdb-opts)
30
                 :logger (rdb-log-default 10))))
31
 
32
 (defmethod make-db ((engine (eql :packy)) &rest initargs &key &allow-other-keys)
33
   (apply #'make-instance 'packy-db initargs))
34
 
35
 (defmethod find-db ((name (eql :packy)) dbs &key))
36
 
37
 (defun init-packy-db ()
38
   (setq *packy-db* (load-schema (make-db :packy) (make-instance 'packy-schema))))
39
 
40
 (defun insert-pack (pack)
41
   (make-instance 'pack))