r9119: Automated commit for Debian build of clsql upstream-version-2.9.2
[clsql.git] / base / package.lisp
index 18ce31b9889c02d60d44d16f00abcf187ab77225..5d460b87c670afe6c52280ed49d164e482a11efb 100644 (file)
@@ -2,15 +2,15 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          package.cl
+;;;; Name:          package.lisp
 ;;;; Purpose:       Package definition for base (low-level) SQL interface
 ;;;; Programmers:   Kevin M. Rosenberg based on
 ;;;;                Original code by Pierre R. Mai 
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: package.lisp,v 1.1 2002/09/30 10:19:01 kevin Exp $
+;;;; $Id$
 ;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ;;;; *************************************************************************
 
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :cl-user)
+(in-package #:cl-user)
 
 ;;;; This file makes the required package definitions for CLSQL's
 ;;;; core packages.
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-(defpackage :clsql-base-sys
-  (:use :common-lisp)
+(defpackage #:clsql-base-sys
+  (:use #:cl)
   (:export
      ;; "Private" exports for use by interface packages
      #:check-connection-spec
      #:database-initialize-database-type
      #:database-connect
      #:database-disconnect
+     #:database-reconnect
      #:database-query
      #:database-execute-command
      #:database-query-result-set
      #:database-dump-result-set
      #:database-store-next-row
-     
-     ;; For UncommonSQL support
+     #:database-create
+     #:database-destroy
+     #:database-probe
+     #:database-list
+     #:database-describe-table
+     #:database-underlying-type
+
      #:database-list-tables
      #:database-list-attributes
      #:database-attribute-type
      #:database-drop-sequence
      #:database-sequence-next
      #:sql-escape
-
-     ;; Support for pooled connections
-     #:database-type
-
+     #:database-sequence-last
+     #:database-set-sequence-position
+     #:database-list-attributes
+     #:database-list-sequences
+     #:database-list-indexes
+     #:database-list-table-indexes
+     #:database-list-views
+     
+     
      ;; Large objects (Marc B)
      #:database-create-large-object
      #:database-write-large-object
      #:database-read-large-object
      #:database-delete-large-object
-     
+
+     #:command-output
+     #:make-process-lock
+     #:with-process-lock
+     #:connection-spec
+     #:ensure-keyword
+
+     ;; utils.lisp
+     #:without-interrupts
+     #:make-process-lock
+     #:with-process-lock
+     #:command-output
+
      ;; Shared exports for re-export by CLSQL-BASE
      .
      #1=(#:clsql-condition
         #:clsql-invalid-spec-error-connection-spec
         #:clsql-invalid-spec-error-database-type
         #:clsql-invalid-spec-error-template
+        #:clsql-access-error
+        #:clsql-access-error-database-type
+        #:clsql-access-error-connection-spec
+        #:clsql-access-error-error
         #:clsql-connect-error
-        #:clsql-connect-error-database-type
-        #:clsql-connect-error-connection-spec
         #:clsql-connect-error-errno
-        #:clsql-connect-error-error
         #:clsql-sql-error
         #:clsql-sql-error-database
         #:clsql-sql-error-expression
         #:clsql-exists-error
         #:clsql-closed-error
         #:clsql-closed-error-database
+         #:clsql-sql-syntax-error
+         #:clsql-type-error
+         #:clsql-odbc-error
+        #:clsql-odbc-error-message
         
         #:*loaded-database-types*
         #:reload-database-types
         #:connected-databases
         #:database
         #:database-name
-        #:closed-database
         #:find-database
         #:database-name-from-spec
+        #:is-database-open
 
         ;; accessors for database class
         #:name
         #:transaction
         #:transaction-level
         #:conn-pool
-        
-        ;; utils.cl
+        #:command-recording-stream
+        #:result-recording-stream
+        #:query-recording-stream
+        #:view-classes
+        #:database-type
+        #:database-state
+
+        ;; utils.lisp
         #:number-to-sql-string
         #:float-to-sql-string
         #:sql-escape-quotes
+        
+        ;; time.lisp
+        #:bad-component
+        #:current-day
+        #:current-month
+        #:current-year
+        #:day-duration
+        #:db-timestring
+        #:decode-duration
+        #:decode-time
+        #:duration
+        #:duration+
+        #:duration<
+        #:duration<=
+        #:duration=
+        #:duration>
+        #:duration>=
+        #:duration-day
+        #:duration-hour
+        #:duration-minute
+        #:duration-month
+        #:duration-second
+        #:duration-year
+        #:duration-reduce 
+        #:duration-timestring
+        #:extract-roman 
+        #:format-duration
+        #:format-time
+        #:get-time
+        #:interval-clear
+        #:interval-contained
+        #:interval-data
+        #:interval-edit
+        #:interval-end
+        #:interval-match
+        #:interval-push
+        #:interval-relation
+        #:interval-start
+        #:interval-type
+        #:make-duration
+        #:make-interval
+        #:make-time
+        #:merged-time
+        #:midnight
+        #:month-name
+        #:parse-date-time
+        #:parse-timestring
+        #:parse-yearstring
+        #:print-date
+        #:roll
+        #:roll-to
+        #:time
+        #:time+
+        #:time-
+        #:time-by-adding-duration
+        #:time-compare
+        #:time-difference
+        #:time-dow
+        #:time-element
+        #:time-max
+        #:time-min
+        #:time-mjd
+        #:time-msec
+        #:time-p
+        #:time-sec
+        #:time-well-formed
+        #:time-ymd
+        #:time<
+        #:time<=
+        #:time=
+        #:time>
+        #:time>=
+        #:timezone
+        #:universal-time
+        #:wall-time
+        #:wall-timestring
+        #:week-containing
+        #:gregorian-to-mjd
+        #:mjd-to-gregorian
+        x
+        ;; recording.lisp -- SQL I/O Recording 
+        #:record-sql-action
+        #:add-sql-stream                 ; recording  xx
+        #:delete-sql-stream              ; recording  xx
+        #:list-sql-streams               ; recording  xx
+        #:sql-recording-p                ; recording  xx
+        #:sql-stream                     ; recording  xx
+        #:start-sql-recording            ; recording  xx
+        #:stop-sql-recording             ; recording  xx
+
+        ;; database.lisp -- Connection
+        #:*default-database-type*                ; clsql-base xx
+        #:*default-database*             ; classes    xx
+        #:connect                                ; database   xx
+        #:*connect-if-exists*            ; database   xx
+        #:connected-databases            ; database   xx
+        #:database                       ; database   xx
+        #:database-name                     ; database   xx
+        #:disconnect                     ; database   xx
+        #:reconnect                         ; database
+        #:find-database                     ; database   xx
+        #:status                            ; database   xx
+        #:with-database
+        #:with-default-database
+        #:disconnect-pooled
+        #:create-database
+        #:destroy-database
+        #:probe-database
+        #:list-databases
+
+        ;; basic-sql.lisp
+        #:query
+        #:execute-command
+        #:write-large-object
+        #:read-large-object
+        #:delete-large-object
+        #:do-query
+        #:map-query
+        #:describe-table
+
+        ;; Transactions
+        #:with-transaction
+        #:commit-transaction
+        #:rollback-transaction
+        #:add-transaction-commit-hook
+        #:add-transaction-rollback-hook
+        #:commit                            ; transact   xx
+        #:rollback                       ; transact   xx
+        #:with-transaction               ; transact   xx               .
+        #:start-transaction                 ; transact   xx
+        #:in-transaction-p                  ; transact   xx
+        #:database-start-transaction
+        #:database-abort-transaction
+        #:database-commit-transaction
+        #:transaction-level
+        #:transaction
+
+        ;; Database features specialized by backend
+        #:db-type-use-column-on-drop-index?
+        #:db-type-has-views?
+        #:db-type-has-subqueries?
+        #:db-type-has-boolean-where?
+        #:db-backend-has-create/destroy-db?
+        #:db-type-transaction-capable?
         ))
     (:documentation "This is the INTERNAL SQL-Interface package of CLSQL-BASE."))
 
 (defpackage #:clsql-base
-    (:import-from :clsql-base-sys . #1#)
+    (:import-from #:clsql-base-sys . #1#)
     (:export . #1#)
     (:documentation "This is the SQL-Interface package of CLSQL-BASE."))
 );eval-when