r2741: Start migration to pathname-less asd files, remove .system files
[clsql.git] / sql / package.cl
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          package.cl
6 ;;;; Purpose:       Package definition for CLSQL (high-level) interface
7 ;;;; Programmers:   Kevin M. Rosenberg based on
8 ;;;;                Original code by Pierre R. Mai 
9 ;;;; Date Started:  Feb 2002
10 ;;;;
11 ;;;; $Id: package.cl,v 1.19 2002/09/17 17:16:43 kevin Exp $
12 ;;;;
13 ;;;; This file, part of CLSQL, is Copyright (c) 2002 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 (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
22 (in-package :cl-user)
23
24
25 (eval-when (:compile-toplevel :load-toplevel :execute)
26   (defpackage :clsql-sys
27     (:nicknames :clsql)
28     (:use :common-lisp :clsql-base-sys)
29     (:import-from 
30      :clsql-base
31      .
32      #1=(
33          #:clsql-condition
34          #:clsql-error
35          #:clsql-simple-error
36          #:clsql-warning
37          #:clsql-simple-warning
38          #:clsql-invalid-spec-error
39          #:clsql-invalid-spec-error-connection-spec
40          #:clsql-invalid-spec-error-database-type
41          #:clsql-invalid-spec-error-template
42          #:clsql-connect-error
43          #:clsql-connect-error-database-type
44          #:clsql-connect-error-connection-spec
45          #:clsql-connect-error-errno
46          #:clsql-connect-error-error
47          #:clsql-sql-error
48          #:clsql-sql-error-database
49          #:clsql-sql-error-expression
50          #:clsql-sql-error-errno
51          #:clsql-sql-error-error
52          #:clsql-database-warning
53          #:clsql-database-warning-database
54          #:clsql-database-warning-message
55          #:clsql-exists-condition
56          #:clsql-exists-condition-new-db
57          #:clsql-exists-condition-old-db
58          #:clsql-exists-warning
59          #:clsql-exists-error
60          #:clsql-closed-error
61          #:clsql-closed-error-database
62          
63          #:*loaded-database-types*
64          #:reload-database-types
65          #:*default-database-type*
66          #:*initialized-database-types*
67          #:initialize-database-type
68          
69          #:database
70          #:database-name
71          #:closed-database
72          #:database-name-from-spec
73          
74          ;; utils.cl
75          #:number-to-sql-string
76          #:float-to-sql-string
77          #:sql-escape-quotes
78          ))
79     (:export
80      ;; sql.cl
81      #:*connect-if-exists*
82      #:connected-databases
83      #:*default-database*
84      #:find-database
85      #:connect
86      #:disconnect
87      #:query
88      #:execute-command
89      #:map-query
90      #:do-query
91      
92      ;; functional.cl
93      #:insert-records
94      #:delete-records
95      #:update-records
96      #:with-database
97      
98      ;; For High-level UncommonSQL compatibility
99      #:sql-ident
100      #:list-tables
101      #:list-attributes
102      #:attribute-type
103      #:create-sequence 
104      #:drop-sequence
105      #:sequence-next
106      
107      ;; Pooled connections
108      #:disconnect-pooled
109      #:find-or-create-connection-pool
110      
111      ;; Transactions
112      #:with-transaction
113      #:commit-transaction
114      #:rollback-transaction
115      #:add-transaction-commit-hook
116      #:add-transaction-rollback-hook
117      
118      ;; Large objects (Marc B)
119      #:create-large-object
120      #:write-large-object
121      #:read-large-object
122      #:delete-large-object
123      
124      .
125      #1#
126      )
127     (:documentation "This is the INTERNAL SQL-Interface package of CLSQL."))
128   
129   )                                     ;eval-when
130
131 (defpackage #:clsql-user
132   (:use #:common-lisp #:clsql)
133   (:documentation "This is the user package for experimenting with CLSQL."))