Coverage report: /development/source/library/com/dydra/gitlab/dydra-cgi/ffi/lisp/rdfcache/shard.lisp
| Kind | Covered | All | % |
| expression | 14 | 29 | 48.3 |
| branch | 2 | 4 | 50.0 |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
5
(defun attach () (%%attach))
7
(defun detach () (%%detach))
9
(defun fetch-term (term-number term-pointer)
10
"Given a persistent term number copy its fields into the provided term structure."
11
(declare (type fixnum term-number)
12
(type foreign-pointer term-pointer))
13
(assert (typep term-number '(integer 1)))
14
(with-checked-pointer (term-pointer)
15
(with-checked-errno-result "rdfcache_ffi_fetch_term"
16
(%%cursor-fetch-term term-number term-pointer))))
18
(defun lookup-term-number (term-pointer)
19
(declare (type foreign-pointer term-pointer))
20
(with-checked-pointer (term-pointer)
21
(let ((term-number (with-checked-long-result "rdfcache_ffi_lookup_term_number"
22
(%%lookup-term-number term-pointer))))
23
(declare (type integer term-number))
24
(if (zerop term-number) nil term-number))))
26
(defun ephemeral-term-number-p (number)
27
(any-ephemerals? number))
29
(defun persistent-term-number-p (number)
34
(defmacro fetch-term-type (term-number)
35
(let ((term-var (gensym)))
36
;; TODO: optimize this:
37
`(cffi:with-foreign-object (,term-var '(:struct rdfcache::term))
38
(rdfcache:fetch-term ,term-number ,term-var)
39
(rdfcache:term-type ,term-var))))