r8928: add probe-database,create-database,destroy-database
[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-query
38      #:database-execute-command
39      #:database-query-result-set
40      #:database-dump-result-set
41      #:database-store-next-row
42      #:database-create
43      #:database-destroy
44      #:database-probe
45
46      #:database-list-tables
47      #:database-list-attributes
48      #:database-attribute-type
49      #:database-create-sequence 
50      #:database-drop-sequence
51      #:database-sequence-next
52      #:sql-escape
53      #:database-sequence-last
54      #:database-set-sequence-position
55      #:database-list-attributes
56      #:database-list-sequences
57      #:database-list-indexes
58      #:database-list-views
59      
60      ;; Support for pooled connections
61      #:database-type
62      
63      ;; Large objects (Marc B)
64      #:database-create-large-object
65      #:database-write-large-object
66      #:database-read-large-object
67      #:database-delete-large-object
68
69      #:command-output
70      
71      ;; Shared exports for re-export by CLSQL-BASE
72      .
73      #1=(#:clsql-condition
74          #:clsql-error
75          #:clsql-simple-error
76          #:clsql-warning
77          #:clsql-simple-warning
78          #:clsql-invalid-spec-error
79          #:clsql-invalid-spec-error-connection-spec
80          #:clsql-invalid-spec-error-database-type
81          #:clsql-invalid-spec-error-template
82          #:clsql-access-error
83          #:clsql-access-error-database-type
84          #:clsql-access-error-connection-spec
85          #:clsql-access-error-error
86          #:clsql-connect-error
87          #:clsql-connect-error-errno
88          #:clsql-sql-error
89          #:clsql-sql-error-database
90          #:clsql-sql-error-expression
91          #:clsql-sql-error-errno
92          #:clsql-sql-error-error
93          #:clsql-database-warning
94          #:clsql-database-warning-database
95          #:clsql-database-warning-message
96          #:clsql-exists-condition
97          #:clsql-exists-condition-new-db
98          #:clsql-exists-condition-old-db
99          #:clsql-exists-warning
100          #:clsql-exists-error
101          #:clsql-closed-error
102          #:clsql-closed-error-database
103          #:clsql-sql-syntax-error
104          #:clsql-type-error
105          
106          #:*loaded-database-types*
107          #:reload-database-types
108          #:*default-database-type*
109          #:*initialized-database-types*
110          #:initialize-database-type
111          #:*connect-if-exists*
112          #:*default-database*
113          #:connected-databases
114          #:database
115          #:database-name
116          #:closed-database
117          #:find-database
118          #:database-name-from-spec
119
120          ;; accessors for database class
121          #:name
122          #:connection-spec
123          #:transaction
124          #:transaction-level
125          #:conn-pool
126          #:command-recording-stream
127          #:result-recording-stream
128          #:view-classes
129          
130          ;; utils.lisp
131          #:number-to-sql-string
132          #:float-to-sql-string
133          #:sql-escape-quotes
134          
135          ;; time.lisp
136          #:bad-component
137          #:current-day
138          #:current-month
139          #:current-year
140          #:day-duration
141          #:db-timestring
142          #:decode-duration
143          #:decode-time
144          #:duration
145          #:duration+
146          #:duration<
147          #:duration<=
148          #:duration=
149          #:duration>
150          #:duration>=
151          #:duration-day
152          #:duration-hour
153          #:duration-minute
154          #:duration-month
155          #:duration-second
156          #:duration-year
157          #:duration-reduce                
158          #:format-duration
159          #:format-time
160          #:get-time
161          #:interval-clear
162          #:interval-contained
163          #:interval-data
164          #:interval-edit
165          #:interval-end
166          #:interval-match
167          #:interval-push
168          #:interval-relation
169          #:interval-start
170          #:interval-type
171          #:make-duration
172          #:make-interval
173          #:make-time
174          #:merged-time
175          #:midnight
176          #:month-name
177          #:parse-date-time
178          #:parse-timestring
179          #:print-date
180          #:roll
181          #:roll-to
182          #:time
183          #:time+
184          #:time-
185          #:time-by-adding-duration
186          #:time-compare
187          #:time-difference
188          #:time-dow
189          #:time-element
190          #:time-max
191          #:time-min
192          #:time-mjd
193          #:time-msec
194          #:time-p
195          #:time-sec
196          #:time-well-formed
197          #:time-ymd
198          #:time<
199          #:time<=
200          #:time=
201          #:time>
202          #:time>=
203          #:timezone
204          #:universal-time
205          #:wall-time
206          #:wall-timestring
207          #:week-containing
208
209          ;; recording.lisp -- SQL I/O Recording 
210          #:record-sql-comand
211          #:record-sql-result
212          #:add-sql-stream                 ; recording  xx
213          #:delete-sql-stream              ; recording  xx
214          #:list-sql-streams               ; recording  xx
215          #:sql-recording-p                ; recording  xx
216          #:sql-stream                     ; recording  xx
217          #:start-sql-recording            ; recording  xx
218          #:stop-sql-recording             ; recording  xx
219
220          ;; database.lisp -- Connection
221          #:*default-database-type*                ; clsql-base xx
222          #:*default-database*             ; classes    xx
223          #:connect                                ; database   xx
224          #:*connect-if-exists*            ; database   xx
225          #:connected-databases            ; database   xx
226          #:database                       ; database   xx
227          #:database-name                     ; database   xx
228          #:disconnect                     ; database   xx
229          #:reconnect                         ; database
230          #:find-database                     ; database   xx
231          #:status                            ; database   xx
232          #:with-database
233          #:with-default-database
234          #:disconnect-pooled
235          #:create-database
236          #:destroy-database
237          #:probe-database
238
239          ;; basic-sql.lisp
240          #:query
241          #:execute-command
242          #:write-large-object
243          #:read-large-object
244          #:delete-large-object
245          #:do-query
246          #:map-query
247
248          ;; Transactions
249          #:with-transaction
250          #:commit-transaction
251          #:rollback-transaction
252          #:add-transaction-commit-hook
253          #:add-transaction-rollback-hook
254          #:commit                            ; transact   xx
255          #:rollback                       ; transact   xx
256          #:with-transaction               ; transact   xx               .
257          #:start-transaction                 ; transact   xx
258          #:in-transaction-p                  ; transact   xx
259          #:database-start-transaction
260          #:database-abort-transaction
261          #:database-commit-transaction
262          #:transaction-level
263          #:transaction
264
265          ))
266     (:documentation "This is the INTERNAL SQL-Interface package of CLSQL-BASE."))
267
268 (defpackage #:clsql-base
269     (:import-from #:clsql-base-sys . #1#)
270     (:export . #1#)
271     (:documentation "This is the SQL-Interface package of CLSQL-BASE."))
272 );eval-when
273
274