Merge pull request #339 from sabracrolleton/master
[postmodern.git] / cl-postgres / package.lisp
blobcc1e689c99a458ab03afefa4f6c075eee1a58233
1 ;;;; -*- Mode: LISP; Syntax: Ansi-Common-Lisp; Base: 10; Package: CL-USER; -*-
3 (defpackage :cl-postgres
4 (:use :common-lisp)
5 (:export #:database-error
6 #:database-connection-lost
7 #:database-error-message
8 #:database-error-code
9 #:database-error-detail
10 #:database-error-query
11 #:database-error-cause
12 #:database-error-constraint-name
13 #:database-error-extract-name
14 #:database-connection
15 #:database-connection-error
16 #:database-socket-error
17 #:connection-meta
18 #:connection-parameters
19 #:connection-use-binary
20 #:use-binary-parameters
21 #:get-postgresql-version
22 #:postgresql-version-at-least
23 #:open-database
24 #:reopen-database
25 #:database-open-p
26 #:close-database
27 #:wait-for-notification
28 #:exec-query
29 #:prepare-query
30 #:unprepare-query
31 #:exec-prepared
32 #:field-name
33 #:field-type
34 #:row-reader
35 #:def-row-reader
36 #:next-row
37 #:next-field
38 #:list-row-reader
39 #:log-query
40 #:vector-row-reader
41 #:alist-row-reader
42 #:postgresql-notification
43 #:postgresql-notification-channel
44 #:postgresql-notification-payload
45 #:postgresql-notification-pid
46 #:postgresql-warning
47 #:ignore-row-reader
48 #:*sql-readtable*
49 #:copy-sql-readtable
50 #:default-sql-readtable
51 #:set-sql-reader
52 #:set-sql-datetime-readers
53 #:serialize-for-postgres
54 #:to-sql-string
55 #:*read-row-values-as-binary*
56 #:with-binary-row-values
57 #:with-text-row-values
58 #:*silently-truncate-ratios*
59 #:*query-callback*
60 #:*query-log*
61 #:open-db-writer
62 #:db-write-row
63 #:close-db-writer
64 #:*ssl-certificate-file*
65 #:*ssl-key-file*
66 #:*ssl-root-ca-file*
67 #:*retry-connect-times*
68 #:*retry-connect-delay*
69 #:string-mapped-to-nothing
70 #:string-mapped-to-space
71 #:saslprep-normalize
72 #:string-printable-ascii-p
73 #:int4
74 #:int8
75 #:uuid-string
76 #:uuip-p
77 #:types-match-p
78 #:oid-types-match-p
79 #:parameter-lists-match-oid-types-p
80 #:parameter-list-types
81 #:param-to-oid
82 #:*on-evidence-of-man-in-the-middle-attack*
83 #+(and sbcl unix) #:*unix-socket-dir*))
85 (defpackage :cl-postgres-error
86 (:use :common-lisp :cl-postgres)
87 (:export #:admin-shutdown
88 #:cannot-connect-now
89 #:check-violation
90 #:columns-error
91 #:crash-shutdown
92 #:data-exception
93 #:db-division-by-zero
94 #:undefined-column
95 #:undefined-table
96 #:duplicate-column
97 #:duplicate-cursor
98 #:duplicate-database
99 #:duplicate-function
100 #:duplicate-prepared-statement
101 #:duplicate-schema
102 #:duplicate-table
103 #:duplicate-alias
104 #:duplicate-object
105 #:feature-not-supported
106 #:floating-point-exception
107 #:foreign-key-violation
108 #:insufficient-resources
109 #:insufficient-privilege
110 #:transaction-rollback
111 #:serialization-failure
112 #:transaction-integrity-constraint-violation
113 #:statement-completion-unknown
114 #:deadlock-detected
115 #:integrity-violation
116 #:internal-error
117 #:invalid-datetime-format
118 #:invalid-sql-statement-name
119 #:lock-not-available
120 #:not-null-violation
121 #:numeric-value-out-of-range
122 #:object-in-use
123 #:object-state-error
124 #:operator-intervention
125 #:program-limit-exceeded
126 #:query-canceled
127 #:restrict-violation
128 #:server-shutdown
129 #:syntax-error-or-access-violation
130 #:system-error
131 #:unique-violation
132 #:protocol-violation
133 #:connection-exception
134 #:connection-does-not-exist
135 #:connection-failure
136 #:sqlclient-unable-to-establish-sqlconnection
137 #:sqlserver-rejected-establishment-of-sqlconnection
138 #:transaction-resolution-unknown))
140 (defpackage :cl-postgres-oid
141 (:use :common-lisp)
142 (:nicknames :oid)
143 (:export #:+bool+
144 #:+bytea+
145 #:+char+
146 #:+name+
147 #:+int8+
148 #:+int2+
149 #:+int2vector+
150 #:+int4+
151 #:+regproc+
152 #:+text+
153 #:+oid+
154 #:+tid+
155 #:+xid+
156 #:+cid+
157 #:+oid-vector+
158 #:+json+
159 #:+xml+
160 #:+pgnodetree+
161 #:+pgddlcommand+
162 #:+point+
163 #:+lseg+
164 #:+path+
165 #:+box+
166 #:+polygon+
167 #:+line+
168 #:+float4+
169 #:+float8+
170 #:+abstime+
171 #:+reltime+
172 #:+tinterval+
173 #:+unknown+
174 #:+circle+
175 #:+cash+
176 #:+macaddr+
177 #:+inet+
178 #:+cidr+
179 #:+bool-array+
180 #:+bytea-array+
181 #:+char-array+
182 #:+name-array+
183 #:+int2-array+
184 #:+int4-array+
185 #:+text-array+
186 #:+bpchar-array+
187 #:+varchar-array+
188 #:+int8-array+
189 #:+point-array+
190 #:+lseg-array+
191 #:+box-array+
192 #:+float4-array+
193 #:+float8-array+
194 #:+oid-array+
195 #:+aclitem+
196 #:+cstring-array+
197 #:+bpchar+
198 #:+varchar+
199 #:+date+
200 #:+time+
201 #:+timestamp+
202 #:+timestamp-array+
203 #:+date-array+
204 #:+time-array+
205 #:+timestamptz+
206 #:+timestamptz-array+
207 #:+interval+
208 #:+interval-array+
209 #:+timetz+
210 #:+bit+
211 #:+bit-array+
212 #:+varbit+
213 #:+varbit-array+
214 #:+numeric+
215 #:+numeric-array+
216 #:+refcursor+
217 #:+regprocedure+
218 #:+regoper+
219 #:+regoperator+
220 #:+regclass+
221 #:+regtype+
222 #:+regrole+
223 #:+regnamespace+
224 #:+regtype-array+
225 #:+uuid+
226 #:+lsn+
227 #:+tsvector+
228 #:+gtsvector+
229 #:+tsquery+
230 #:+regconfig+
231 #:+regdictionary+
232 #:+jsonb+
233 #:+int4range+
234 #:+record+
235 #:+record-array+
236 #:+cstring+
237 #:+any+
238 #:+any-array+
239 #:+v-oid+
240 #:+trigger+
241 #:+evttrigger+
242 #:+language-handler+
243 #:+internal+
244 #:+opaque+
245 #:+anyelement+
246 #:+anynon-array+
247 #:+anyenum+
248 #:+fdw-handler+
249 #:+index-am-handler+
250 #:+tsm-handler+
251 #:+anyrange+))
253 (defpackage :cl-postgres.features
254 (:use :common-lisp)
255 (:export #:sbcl-available
256 #:sbcl-ipv6-available))
258 (defpackage :cl-postgres-trivial-utf-8
259 (:use :common-lisp)
260 (:nicknames :clp-utf8)
261 (:export #:utf-8-byte-length
262 #:string-to-utf-8-bytes
263 #:write-utf-8-bytes
264 #:utf-8-group-size
265 #:utf-8-bytes-to-string
266 #:read-utf-8-string
267 #:utf-8-decoding-error))
269 (defpackage :cl-postgres-ieee-floats
270 (:use :common-lisp)
271 (:nicknames :clp-ieee-floats)
272 (:export :make-float-converters
273 :encode-float32
274 :decode-float32
275 :encode-float64
276 :decode-float64))
278 (in-package :cl-postgres)
280 (eval-when (:compile-toplevel :load-toplevel :execute)
281 ;; Optimization settings (only used by functions that need it).
282 (defparameter *optimize*
283 '(optimize
284 (speed 3)
285 #-ecl(safety 0) #+ecl(safety 1)
286 (space 1)
287 (debug 1)
288 (compilation-speed 0))))