Coverage report: /home/ati/workspace/perec/package.lisp

KindCoveredAll%
expression11100.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;; -*- mode: Lisp; Syntax: Common-Lisp; -*-
2
 ;;;
3
 ;;; Copyright (c) 2006 by the authors.
4
 ;;;
5
 ;;; See LICENCE for details.
6
 
7
 (in-package :cl-user)
8
 
9
 (defpackage :cl-perec
10
   (:nicknames :prc)
11
 
12
   (:use :common-lisp
13
         :closer-mop
14
         :iterate
15
         :arnesi
16
         :bind
17
         :s-base64
18
         :computed-class
19
         :defclass-star
20
         :trivial-garbage
21
         :flexi-streams
22
         :local-time
23
         :parse-number
24
         :metacopy-with-contextl
25
         :cl-ppcre
26
         :cl-store
27
         :cl-containers
28
         :cl-rdbms)
29
 
30
   (:shadow #:log
31
            #:name
32
            #:set
33
            #:time
34
            #:form
35
            #:variable
36
            #:transaction
37
            #:float-type)
38
 
39
   (:shadowing-import-from :iterate
40
                           #:finish)
41
 
42
   (:shadowing-import-from :cl-containers
43
                           #:dequeue
44
                           #:enqueue
45
                           #:parent)
46
 
47
   (:shadowing-import-from :flexi-streams
48
                           #:octets-to-string
49
                           #:string-to-octets)
50
 
51
   (:shadowing-import-from :cl-rdbms
52
                           #:update-index)
53
 
54
   (:export ;; defining persistent classes
55
            #:defpclass
56
            #:defpclass*
57
            #:find-class
58
            #:abstract-p
59
            #:cache-p
60
            #:prefetch-p
61
            #:index-p
62
            #:unique-p
63
            #:required-p
64
 
65
            ;; defining persistent associations
66
            #:defassociation
67
            #:defassociation*
68
            #:find-association
69
 
70
            ;; defining persistent types
71
            #:defptype
72
            #:find-type
73
            #:normalized-type-of
74
            #:parse-type
75
            #:primitive-type-p
76
            #:destructure-type
77
            #:def-member-type
78
 
79
            ;; persistent class meta objects
80
            #:persistent-class
81
            #:persistent-association
82
            #:persistent-slot-definition
83
            #:persistent-direct-slot-definition
84
            #:persistent-effective-slot-definition
85
            #:persistent-association-end-slot-definition
86
            #:persistent-association-end-direct-slot-definition
87
            #:persistent-association-end-effective-slot-definition
88
            #:persistent-type
89
            #:integer-type
90
            #:float-type
91
            #:string-type
92
            #:text-type
93
            #:member-type
94
            #:serialized-type
95
            #:symbol-type
96
 
97
            ;; primitve types
98
            #:t
99
            #:serialized
100
            #:unbound
101
            #:null
102
            #:boolean
103
            #:integer-16
104
            #:integer-32
105
            #:integer-64
106
            #:integer
107
            #:float-32
108
            #:float-64
109
            #:float
110
            #:double
111
            #:double-float
112
            #:number
113
            #:string
114
            #:text
115
            #:symbol
116
            #:symbol*
117
            #:date
118
            #:time
119
            #:timestamp
120
            #:duration
121
            #:form
122
            #:member
123
            #:set
124
            #:or
125
 
126
            ;; persistent classes, all persistent-classes are valid slot types
127
            #:persistent-object
128
            #:persistent-set
129
 
130
            ;; most of the transaction API is inherited from cl-rdbms
131
            #:with-database
132
            #:*database*
133
            #:with-transaction
134
            #:with-transaction*
135
            #:*transaction*
136
            #:mark-transaction-for-commit-only
137
            #:mark-transaction-for-rollback-only
138
            #:transaction-timestamp
139
            #:transaction-mixin
140
            #:transaction-with-commit-hooks-mixin
141
            #:register-commit-hook
142
 
143
            ;; managing persistent instances
144
            #:with-making-persistent-instances
145
            #:with-making-transient-instances
146
            #:make-persistent
147
            #:make-transient
148
            #:oid-of
149
            #:persistent-p
150
            #:created-p
151
            #:modified-p
152
            #:deleted-p
153
            #:instance-in-transaction-p
154
            #:transaction-of
155
            #:p-eq
156
            #:load-instance
157
            #:revive-instance
158
            #:purge-instance
159
            #:purge-instances
160
            #:print-persistent-instance
161
 
162
            ;; most of the collection API is inherited from cl-containers 
163
            #:insert-item
164
            #:first-item
165
            #:delete-item
166
            #:size
167
            #:empty-p
168
            #:empty!
169
            #:search-for-item
170
            #:iterate-items
171
            #:list-of
172
 
173
            ;; query
174
            #:query
175
            #:copy-query
176
            #:query-builder
177
            #:simple-query-builder
178
            #:select
179
            #:select-first-matching
180
            #:select-last-matching
181
            #:select-instance
182
            #:select-instances
183
            #:select-similar-instance
184
            #:select-similar-instances
185
            #:make-query
186
            #:current-query-variable-of
187
            #:add-lexical-variable
188
            #:add-query-variable
189
            #:add-assert
190
            #:add-collect
191
            #:execute-query
192
            #:unique
193
            #:flat
194
            #:result-set
195
            #:result-type-of
196
            #:define-query-macro
197
            #:like
198
            #:avg
199
            #:sum
200
            #:purge
201
 
202
            ;; scroll
203
            #:scroll
204
            #:elements
205
            #:page
206
            #:first-page!
207
            #:previous-page!
208
            #:next-page!
209
            #:last-page!
210
            #:page-count
211
            #:page-size
212
            #:element-count
213
            #:fixed-size-scroll
214
            #:simple-scroll
215
 
216
            ;; turning cache on and off
217
            #:with-caching-slot-values
218
            #:without-caching-slot-values
219
 
220
            ;; laziness
221
            #:with-lazy-collections
222
            #:without-lazy-collections
223
 
224
            ;; database and cache access
225
            #:with-bypassing-database-access
226
            #:without-bypassing-database-access))
227
 
228
 (in-package :cl-perec)
229
 
230
 (import-sql-syntax-node-names)
231
 (import-sql-constructor-names)
232
 
233
 (define-computed-universe compute-as)