r9199: fold clsql-base and clsql-base-sys into clsql-base
[clsql.git] / sql / package.lisp
index a6058c9a26a7fbbf7b755dbc2a12d1a710c9a429..5293df99f500c0c8ba11f0181082c0e3178f4e55 100644 (file)
@@ -30,7 +30,7 @@
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defpackage #:clsql-sys
-    (:use #:common-lisp #:clsql-base-sys
+    (:use #:common-lisp #:clsql-base
          #+clsql-sbcl-mop #:sb-mop
          #+clsql-cmucl-mop #:mop
          #+allegro #:mop
@@ -96,7 +96,7 @@
     )
    
    (:import-from 
-    #:clsql-base-sys
+    #:clsql-base
     .
     #1=(
        ;; conditions 
        #: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
        #:command-recording-stream
        #:result-recording-stream
        #:database-view-classes
-       #:database-schema
        #: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
        
        ;; 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
        #:reload-database-types             ; clsql-base xx
        #:database-type                     ; database   x
        #:is-database-open
-       #:in-schema                         ; classes    x
        ;;FDDL 
        #: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      
        ;;OODML
        #:add-to-relation                   ; objects    x
        #:remove-from-relation              ; objects    x