(eval-when (:compile-toplevel :load-toplevel :execute)
- (defpackage #:clsql-sys
- (:use #:common-lisp #:clsql-base-sys
+ (defpackage #:clsql
+ (:use #:common-lisp #:clsql-base
#+clsql-sbcl-mop #:sb-mop
#+clsql-cmucl-mop #:mop
#+allegro #:mop
)
(:import-from
- #:clsql-base-sys
+ #:clsql-base
.
#1=(
;; conditions
#:clsql-closed-error-database
#:clsql-type-error
#:clsql-sql-syntax-error
-
+ #:*backend-warning-behavior*
+
;; db-interface
#:check-connection-spec
#:database-initialize-database-type
#:database-list-tables
#:database-list-views
#:database-list-indexes
+ #:database-list-table-indexes
#:database-list-sequences
#:database-list-attributes
#:database-attribute-type
;; initialize
#:*loaded-database-types*
#:reload-database-types
- #:*default-database-type*
#:*initialized-database-types*
#:initialize-database-type
;; classes
#:database-view-classes
#:conn-pool
#:print-object
+
;; utils
#:sql-escape
;; 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
+ #:*default-database-type* ; database xx
+ #:*default-database* ; database 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 xx
+ #:find-database ; database xx
+ #:status ; database xx
#:with-database
#:with-default-database
#:create-database
#:do-query
#:map-query
#:describe-table
+ #:create-large-object
+ #:write-large-object
+ #:read-large-object
+ #:delete-large-object
;; 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
+ #: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
;; Transactions
#:with-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
+ #: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 capabilities
+ #:db-type-use-column-on-drop-index?
+ #:db-backend-has-create/destroy-db?
+ #:db-type-has-views?
+ #:db-type-has-subqueries?
+ #:db-type-has-boolean-where?
+ #:db-type-transaction-capable?
+ #:db-type-has-fancy-math?
+ #:db-type-default-case
+ #:convert-to-db-default-case
+ #:database-underlying-type
))
(:export
;; "Private" exports for use by interface packages
#:database-list-views
#:database-view-exists-p
#:database-list-indexes
+ #:database-list-table-indexes
#:database-index-exists-p
#:database-list-sequences
#:database-sequence-exists-p
#:database-list-attributes
#:database-attribute-type
#:database-describe-table
+
+ #:db-backend-has-create/destroy-db?
+ #:db-type-has-views?
+ #:db-type-has-subqueries?
+ #:db-type-has-boolean-where?
+ #:db-type-transaction-capable?
+ #:db-type-has-fancy-math?
+ #:db-type-default-case
+ #:database-underlying-type
.
;; Shared exports for re-export by CLSQL.
#:select ; objects xx
#:cache-table-queries ;
#:*cache-table-queries-default* ;
- #:delete-records ; sql xx
+ #:delete-records ; sql xx
#:insert-records ; sql xx
- #:update-records ; sql xx
- #:execute-command ; sql xx
+ #:update-records ; sql xx
+ #:execute-command ; sql xx
#:query ; sql xx
- #:print-query ; sql xx
- #:do-query ; sql xx
- #:map-query ; sql xx
- #:loop ; loop-ext x
+ #:print-query ; sql xx
+ #:do-query ; sql xx
+ #:map-query ; sql xx
+ #:loop ; loop-ext x
;;FDDL
- #:create-table ; table xx
- #:drop-table ; table xx
- #:list-tables ; table xx
+ #:create-table ; table xx
+ #:drop-table ; table xx
+ #:list-tables ; table xx
#:table-exists-p ; table xx
- #:list-attributes ; table xx
+ #:list-attributes ; table xx
#:attribute-type ; table xx
- #:list-attribute-types ; table xx
- #:create-view ; table xx
- #:drop-view ; table xx
- #:create-index ; table xx
- #:drop-index ; table xx
+ #:list-attribute-types ; table xx
+ #:*cache-table-queries-default*
+ #:create-view ; table xx
+ #:drop-view ; table xx
+ #:create-index ; table xx
+ #:drop-index ; table xx
#:truncate-database
;;OODDL
- #:standard-db-object ; objects xx
+ #:standard-db-object ; objects xx
#:def-view-class ; objects xx
#:create-view-from-class ; objects xx
- #:drop-view-from-class ; objects xx
+ #:drop-view-from-class ; objects xx
;;OODML
- #:instance-refreshed ;
+ #:instance-refreshed ; objects xx
#:update-object-joins ;
#:*default-update-objects-max-len* ;
- #:update-slot-from-record ; objects xx
+ #:update-slot-from-record ; objects xx
#:update-instance-from-records ; objects xx
- #:update-records-from-instance ; objects xx
- #:update-record-from-slot ; objects xx
- #:update-record-from-slots ; objects xx
- #:list-classes ; objects xx
- #:delete-instance-records ; objects xx
+ #:update-records-from-instance ; objects xx
+ #:update-record-from-slot ; objects xx
+ #:update-record-from-slots ; objects xx
+ #:list-classes ; objects xx
+ #:delete-instance-records ; objects xx
;;Symbolic SQL Syntax
- #:sql ; syntax xx
+ #:sql ; syntax xx
#:sql-expression ; syntax xx
#:sql-operation ; syntax xx
- #:sql-operator ; syntax xx
+ #:sql-operator ; syntax xx
#:disable-sql-reader-syntax ; syntax xx
#:enable-sql-reader-syntax ; syntax xx
#:locally-disable-sql-reader-syntax ; syntax xx
#:locally-enable-sql-reader-syntax ; syntax xx
#:restore-sql-reader-syntax-state ; syntax xx
+ #:*update-records-on-make-instance*
+
;;------------------------------------------------
;; Miscellaneous Extensions
;;------------------------------------------------
#:list-views ; table xx
#:view-exists-p ; table xx
#:list-indexes ; table xx
+ #:list-table-indexes ; table xx
#:index-exists-p ; table xx
#:create-sequence ; table xx
#:drop-sequence ; table xx
#:set-sequence-position ; table xx
;;OODDL
#:view-table ; metaclass x
- #:create-sequence-from-class ; objects x
- #:drop-sequence-from-class ; objects x
+ #:universal-time ; objects xx
+ #:bigint
;;OODML
#:add-to-relation ; objects x
#:remove-from-relation ; objects x
(setf *packages-for-warn-on-redefinition*
(delete "SQL" *packages-for-warn-on-redefinition* :test 'string=))
-(defpackage #:clsql
- (:use #:common-lisp)
- (:import-from #:clsql-sys . #2#)
- (:export . #2#)
- (:documentation "This is the SQL-Interface package of CLSQL."))
-
(defpackage #:clsql-user
(:use #:common-lisp)
- (:import-from #:clsql-sys . #2#)
+ (:import-from #:clsql . #2#)
(:export . #2#)
(:documentation "This is the user package with CLSQL symbols."))