1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
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
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
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 ;;;; *************************************************************************
21 (in-package #:cl-user)
23 ;;;; This file makes the required package definitions for CLSQL's
26 (eval-when (:compile-toplevel :load-toplevel :execute)
27 (defpackage #:clsql-base-sys
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
39 #:database-execute-command
40 #:database-query-result-set
41 #:database-dump-result-set
42 #:database-store-next-row
47 #:database-describe-table
48 #:database-underlying-type
50 #:database-list-tables
51 #:database-list-attributes
52 #:database-attribute-type
53 #:database-create-sequence
54 #:database-drop-sequence
55 #:database-sequence-next
57 #:database-sequence-last
58 #:database-set-sequence-position
59 #:database-list-attributes
60 #:database-list-sequences
61 #:database-list-indexes
62 #:database-list-table-indexes
65 ;; Large objects (Marc B)
66 #:database-create-large-object
67 #:database-write-large-object
68 #:database-read-large-object
69 #:database-delete-large-object
82 #:symbol-name-default-case
83 #:convert-to-db-default-case
86 ;; Shared exports for re-export by CLSQL-BASE
92 #:clsql-simple-warning
93 #:clsql-invalid-spec-error
94 #:clsql-invalid-spec-error-connection-spec
95 #:clsql-invalid-spec-error-database-type
96 #:clsql-invalid-spec-error-template
98 #:clsql-access-error-database-type
99 #:clsql-access-error-connection-spec
100 #:clsql-access-error-error
101 #:clsql-connect-error
102 #:clsql-connect-error-errno
104 #:clsql-sql-error-database
105 #:clsql-sql-error-expression
106 #:clsql-sql-error-errno
107 #:clsql-sql-error-error
108 #:clsql-database-warning
109 #:clsql-database-warning-database
110 #:clsql-database-warning-message
111 #:clsql-exists-condition
112 #:clsql-exists-condition-new-db
113 #:clsql-exists-condition-old-db
114 #:clsql-exists-warning
117 #:clsql-closed-error-database
118 #:clsql-sql-syntax-error
121 #:clsql-odbc-error-message
123 #:*loaded-database-types*
124 #:reload-database-types
125 #:*default-database-type*
126 #:*initialized-database-types*
127 #:initialize-database-type
128 #:*connect-if-exists*
130 #:connected-databases
134 #:database-name-from-spec
137 ;; accessors for database class
143 #:command-recording-stream
144 #:result-recording-stream
145 #:query-recording-stream
152 #:number-to-sql-string
153 #:float-to-sql-string
179 #:duration-timestring
210 #:time-by-adding-duration
236 ;; recording.lisp -- SQL I/O Recording
238 #:add-sql-stream ; recording xx
239 #:delete-sql-stream ; recording xx
240 #:list-sql-streams ; recording xx
241 #:sql-recording-p ; recording xx
242 #:sql-stream ; recording xx
243 #:start-sql-recording ; recording xx
244 #:stop-sql-recording ; recording xx
246 ;; database.lisp -- Connection
247 #:*default-database-type* ; clsql-base xx
248 #:*default-database* ; classes xx
249 #:connect ; database xx
250 #:*connect-if-exists* ; database xx
251 #:connected-databases ; database xx
252 #:database ; database xx
253 #:database-name ; database xx
254 #:disconnect ; database xx
255 #:reconnect ; database
256 #:find-database ; database xx
257 #:status ; database xx
259 #:with-default-database
271 #:delete-large-object
279 #:rollback-transaction
280 #:add-transaction-commit-hook
281 #:add-transaction-rollback-hook
282 #:commit ; transact xx
283 #:rollback ; transact xx
284 #:with-transaction ; transact xx .
285 #:start-transaction ; transact xx
286 #:in-transaction-p ; transact xx
287 #:database-start-transaction
288 #:database-abort-transaction
289 #:database-commit-transaction
293 ;; Database features specialized by backend
294 #:db-type-use-column-on-drop-index?
296 #:db-type-has-subqueries?
297 #:db-type-has-boolean-where?
298 #:db-type-has-fancy-math?
299 #:db-type-default-case
300 #:db-backend-has-create/destroy-db?
301 #:db-type-transaction-capable?
303 (:documentation "This is the INTERNAL SQL-Interface package of CLSQL-BASE."))
305 (defpackage #:clsql-base
306 (:import-from #:clsql-base-sys . #1#)
308 (:documentation "This is the SQL-Interface package of CLSQL-BASE."))