Coverage report: /development/source/library/org/datagraph/spocq-shard/src/core/bitemporal-constraints.lisp
| Kind | Covered | All | % |
| expression | 11 | 11 | 100.0 |
| branch | 1 | 2 | 50.0 |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: org.datagraph.spocq.implementation; -*-
3
(in-package :org.datagraph.spocq.implementation)
5
(:documentation "Define supporting functions to distinguish bitemporal filter
9
(:export "versionAfter" "versionBefore" "versionContains"
10
"versionDisjoint" "versionDuring" "versionEquals"
11
"versionFinishedby" "versionFinishes" "versionIn"
12
"versionIncludedby" "versionIncludes" "versionMeets"
13
"versionMetby" "versionOverlappedby" "versionOverlaps"
14
"versionStartedby" "versionStarts"
18
(defun version-constraint-p (e)
19
"Return true iff the argument is an expression which is a logical conjunction of version constraints."
21
(destructuring-bind (op . args) e
23
((spocq.a:|and| spocq.a:|or| spocq.a:|not| spocq.a:|exprlist|
24
ORG.DATAGRAPH.SPOCQ.ALGEBRA:|\|\|| ORG.DATAGRAPH.SPOCQ.ALGEBRA:|&&| ORG.DATAGRAPH.SPOCQ.ALGEBRA:|!|)
25
(every #'version-constraint-p args))
27
(member op (load-time-value (loop for name in '("versionAfter" "versionBefore" "versionContains"
28
"versionDisjoint" "versionDuring" "versionEquals"
29
"versionFinishedby" "versionFinishes" "versionIn"
30
"versionIncludedby" "versionIncludes" "versionMeets"
31
"versionMetby" "versionOverlappedby" "versionOverlaps"
32
"versionStartedby" "versionStarts")
33
collect (intern name "time")))))))))