Coverage report: /home/ellis/comp/core/lib/rdb/schema.lisp

KindCoveredAll%
expression028 0.0
branch04 0.0
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; schema.lisp --- RDB Schema Implementation
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :rdb)
7
 
8
 (defschema rdb-schema (schema)
9
   ((:default (octet-vector . octet-vector))))
10
 
11
 (defschema rdb-object-schema (object-schema) ())
12
 
13
 ;; Note that we don't use SIMPLE-CONS-COLUMN here because the NAME slot of
14
 ;; columns is stored in the underlying RDB-CF structure object.
15
 (defclass rdb-column (cons-column) ()
16
   (:default-initargs 
17
    :type (cons 'octet-vector 'octet-vector)))
18
 
19
 (defun cf-to-field (cf)
20
   (make-field :name (name cf)
21
               :type (cons 'octet-vector 'octet-vector)))
22
 
23
 (defclass rdb-data-source (data-source)
24
   ((db :type rdb-database :initarg :db :accessor db)
25
    (schema :type rdb-schema :initarg :schema :accessor schema)))
26
 
27
 (defmethod initialize-instance :after ((self rdb-data-source) &key)
28
   (unless (or (slot-boundp self 'schema) (not (slot-boundp self 'db)))
29
     (setf (schema self) (schema (db self)))))