r1699: *** empty log message ***
[clsql.git] / interfaces / aodbc / aodbc-sql.cl
index 780c19663d50eca6039b37ad42c7ef7adac6f9e1..28f7bb79cb0fa50a2962657cbd728f822f567728 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: aodbc-sql.cl,v 1.4 2002/03/24 18:39:32 kevin Exp $
+;;;; $Id: aodbc-sql.cl,v 1.8 2002/03/29 08:28:14 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 (in-package :clsql-aodbc)
 
 
+;; interface foreign library loading routines
 (defmethod database-type-library-loaded ((database-type (eql :aodbc)))
   "T if foreign library was able to be loaded successfully. "
   (when (find-package :dbi) ;; finds Allegro's DBI (AODBC) package
     t))
 
+(defmethod clsql-sys:database-type-load-foreign ((databae-type (eql :aodbc)))
+  t)
+
+(when (find-package :dbi)
+  (clsql-sys:database-type-load-foreign :aodbc)) 
+
 (defmethod database-initialize-database-type ((database-type (eql :aodbc)))
   t)
 
+
+;; AODBC interfac
+
 (defclass aodbc-database (database)
   ((aodbc-conn :accessor database-aodbc-conn :initarg :aodbc-conn)))
 
   (setf (database-aodbc-conn database) nil)
   t)
 
-(defmethod database-query (query-expression (database aodbc-database) field-types) 
+(defmethod database-query (query-expression (database aodbc-database) types) 
   (handler-case
-      (dbi:sql query-expression :db (database-aodbc-conn database))
+      (dbi:sql query-expression :db (database-aodbc-conn database)
+              :types types)
     (error ()
       (error 'clsql-sql-error
             :database database
 
 (defstruct aodbc-result-set
   (query nil)
-  (field-types nil :type cons)
+  (types nil :type cons)
   (full-set nil :type boolean))
 
 (defmethod database-query-result-set (query-expression (database aodbc-database) 
-                                     &key full-set field-types)
+                                     &key full-set types)
   (handler-case 
       (multiple-value-bind (query column-names)
          (dbi:sql query-expression 
                   :row-count nil
                   :column-names t
                   :query t
+                  :types types
                   )
        (values
         (make-aodbc-result-set :query query :full-set full-set 
-                               :field-types field-types)
+                               :types types)
         (length column-names)
         nil ;; not able to return number of rows with aodbc
         ))