r9088: Automated commit for Debian build of clsql upstream-version-2.8.0
[clsql.git] / base / package.lisp
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          package.lisp
6 ;;;; Purpose:       Package definition for base (low-level) SQL interface
7 ;;;; Programmers:   Kevin M. Rosenberg based on
8 ;;;;                Original code by Pierre R. Mai 
9 ;;;; Date Started:  Feb 2002
10 ;;;;
11 ;;;; $Id$
12 ;;;;
13 ;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
14 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
15 ;;;;
16 ;;;; CLSQL users are granted the rights to distribute and use this software
17 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
18 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
19 ;;;; *************************************************************************
20
21 (in-package #:cl-user)
22
23 ;;;; This file makes the required package definitions for CLSQL's
24 ;;;; core packages.
25
26 (eval-when (:compile-toplevel :load-toplevel :execute)
27 (defpackage #:clsql-base-sys
28   (:use #:cl)
29   (:export
30      ;; "Private" exports for use by interface packages
31      #:check-connection-spec
32      #:database-type-load-foreign
33      #:database-type-library-loaded ;; KMR - Tests if foreign library okay
34      #:database-initialize-database-type
35      #:database-connect
36      #:database-disconnect
37      #:database-reconnect
38      #:database-query
39      #:database-execute-command
40      #:database-query-result-set
41      #:database-dump-result-set
42      #:database-store-next-row
43      #:database-create
44      #:database-destroy
45      #:database-probe
46      #:database-list
47      #:database-describe-table
48      
49      #:database-list-tables
50      #:database-list-attributes
51      #:database-attribute-type
52      #:database-create-sequence 
53      #:database-drop-sequence
54      #:database-sequence-next
55      #:sql-escape
56      #:database-sequence-last
57      #:database-set-sequence-position
58      #:database-list-attributes
59      #:database-list-sequences
60      #:database-list-indexes
61      #:database-list-views
62      
63      
64      ;; Large objects (Marc B)
65      #:database-create-large-object
66      #:database-write-large-object
67      #:database-read-large-object
68      #:database-delete-large-object
69
70      #:command-output
71      #:make-process-lock
72      #:with-process-lock
73      #:connection-spec
74      #:ensure-keyword
75
76      ;; utils.lisp
77      #:without-interrupts
78      #:make-process-lock
79      #:with-process-lock
80      #:command-output
81
82      ;; Shared exports for re-export by CLSQL-BASE
83      .
84      #1=(#:clsql-condition
85          #:clsql-error
86          #:clsql-simple-error
87          #:clsql-warning
88          #:clsql-simple-warning
89          #:clsql-invalid-spec-error
90          #:clsql-invalid-spec-error-connection-spec
91          #:clsql-invalid-spec-error-database-type
92          #:clsql-invalid-spec-error-template
93          #:clsql-access-error
94          #:clsql-access-error-database-type
95          #:clsql-access-error-connection-spec
96          #:clsql-access-error-error
97          #:clsql-connect-error
98          #:clsql-connect-error-errno
99          #:clsql-sql-error
100          #:clsql-sql-error-database
101          #:clsql-sql-error-expression
102          #:clsql-sql-error-errno
103          #:clsql-sql-error-error
104          #:clsql-database-warning
105          #:clsql-database-warning-database
106          #:clsql-database-warning-message
107          #:clsql-exists-condition
108          #:clsql-exists-condition-new-db
109          #:clsql-exists-condition-old-db
110          #:clsql-exists-warning
111          #:clsql-exists-error
112          #:clsql-closed-error
113          #:clsql-closed-error-database
114          #:clsql-sql-syntax-error
115          #:clsql-type-error
116          #:clsql-odbc-error
117          #:clsql-odbc-error-message
118          
119          #:*loaded-database-types*
120          #:reload-database-types
121          #:*default-database-type*
122          #:*initialized-database-types*
123          #:initialize-database-type
124          #:*connect-if-exists*
125          #:*default-database*
126          #:connected-databases
127          #:database
128          #:database-name
129          #:find-database
130          #:database-name-from-spec
131          #:is-database-open
132
133          ;; accessors for database class
134          #:name
135          #:connection-spec
136          #:transaction
137          #:transaction-level
138          #:conn-pool
139          #:command-recording-stream
140          #:result-recording-stream
141          #:query-recording-stream
142          #:view-classes
143          #:database-type
144          #:database-state
145
146          ;; utils.lisp
147          #:number-to-sql-string
148          #:float-to-sql-string
149          #:sql-escape-quotes
150          
151          ;; time.lisp
152          #:bad-component
153          #:current-day
154          #:current-month
155          #:current-year
156          #:day-duration
157          #:db-timestring
158          #:decode-duration
159          #:decode-time
160          #:duration
161          #:duration+
162          #:duration<
163          #:duration<=
164          #:duration=
165          #:duration>
166          #:duration>=
167          #:duration-day
168          #:duration-hour
169          #:duration-minute
170          #:duration-month
171          #:duration-second
172          #:duration-year
173          #:duration-reduce 
174          #:duration-timestring
175          #:extract-roman 
176          #:format-duration
177          #:format-time
178          #:get-time
179          #:interval-clear
180          #:interval-contained
181          #:interval-data
182          #:interval-edit
183          #:interval-end
184          #:interval-match
185          #:interval-push
186          #:interval-relation
187          #:interval-start
188          #:interval-type
189          #:make-duration
190          #:make-interval
191          #:make-time
192          #:merged-time
193          #:midnight
194          #:month-name
195          #:parse-date-time
196          #:parse-timestring
197          #:parse-yearstring
198          #:print-date
199          #:roll
200          #:roll-to
201          #:time
202          #:time+
203          #:time-
204          #:time-by-adding-duration
205          #:time-compare
206          #:time-difference
207          #:time-dow
208          #:time-element
209          #:time-max
210          #:time-min
211          #:time-mjd
212          #:time-msec
213          #:time-p
214          #:time-sec
215          #:time-well-formed
216          #:time-ymd
217          #:time<
218          #:time<=
219          #:time=
220          #:time>
221          #:time>=
222          #:timezone
223          #:universal-time
224          #:wall-time
225          #:wall-timestring
226          #:week-containing
227          #:gregorian-to-mjd
228          #:mjd-to-gregorian
229          x
230          ;; recording.lisp -- SQL I/O Recording 
231          #:record-sql-action
232          #:add-sql-stream                 ; recording  xx
233          #:delete-sql-stream              ; recording  xx
234          #:list-sql-streams               ; recording  xx
235          #:sql-recording-p                ; recording  xx
236          #:sql-stream                     ; recording  xx
237          #:start-sql-recording            ; recording  xx
238          #:stop-sql-recording             ; recording  xx
239
240          ;; database.lisp -- Connection
241          #:*default-database-type*                ; clsql-base xx
242          #:*default-database*             ; classes    xx
243          #:connect                                ; database   xx
244          #:*connect-if-exists*            ; database   xx
245          #:connected-databases            ; database   xx
246          #:database                       ; database   xx
247          #:database-name                     ; database   xx
248          #:disconnect                     ; database   xx
249          #:reconnect                         ; database
250          #:find-database                     ; database   xx
251          #:status                            ; database   xx
252          #:with-database
253          #:with-default-database
254          #:disconnect-pooled
255          #:create-database
256          #:destroy-database
257          #:probe-database
258          #:list-databases
259
260          ;; basic-sql.lisp
261          #:query
262          #:execute-command
263          #:write-large-object
264          #:read-large-object
265          #:delete-large-object
266          #:do-query
267          #:map-query
268          #:describe-table
269
270          ;; Transactions
271          #:with-transaction
272          #:commit-transaction
273          #:rollback-transaction
274          #:add-transaction-commit-hook
275          #:add-transaction-rollback-hook
276          #:commit                            ; transact   xx
277          #:rollback                       ; transact   xx
278          #:with-transaction               ; transact   xx               .
279          #:start-transaction                 ; transact   xx
280          #:in-transaction-p                  ; transact   xx
281          #:database-start-transaction
282          #:database-abort-transaction
283          #:database-commit-transaction
284          #:transaction-level
285          #:transaction
286
287          ))
288     (:documentation "This is the INTERNAL SQL-Interface package of CLSQL-BASE."))
289
290 (defpackage #:clsql-base
291     (:import-from #:clsql-base-sys . #1#)
292     (:export . #1#)
293     (:documentation "This is the SQL-Interface package of CLSQL-BASE."))
294 );eval-when
295
296