r2028: added reader features for non-allegro systems
[clsql.git] / interfaces / aodbc / aodbc-sql.cl
index edb861ec78a32022338c0094ab3f6810a08f4ecb..9cc69ece71ae3cf80f54e5e79f729259da057ce2 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: aodbc-sql.cl,v 1.7 2002/03/29 08:23:38 kevin Exp $
+;;;; $Id: aodbc-sql.cl,v 1.9 2002/05/13 16:41:22 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -20,6 +20,7 @@
 (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)
 
 (when (find-package :dbi)
-  (clsql-sys:database-type-load-foreign :aodbc)) ;; doesn't do anything
+  (clsql-sys:database-type-load-foreign :aodbc)) 
 
 (defmethod database-initialize-database-type ((database-type (eql :aodbc)))
   t)
 
+
+;; AODBC interface
+
 (defclass aodbc-database (database)
   ((aodbc-conn :accessor database-aodbc-conn :initarg :aodbc-conn)))
 
@@ -46,6 +50,7 @@
 
 (defmethod database-connect (connection-spec (database-type (eql :aodbc)))
   (check-connection-spec connection-spec database-type (dsn user password))
+  #+aodbc-v2
   (destructuring-bind (dsn user password) connection-spec
     (handler-case
        (make-instance 'aodbc-database
               :error "Connection failed")))))
 
 (defmethod database-disconnect ((database aodbc-database))
+  #+aodbc-v2
   (dbi:disconnect (database-aodbc-conn database))
   (setf (database-aodbc-conn database) nil)
   t)
 
 (defmethod database-query (query-expression (database aodbc-database) types) 
+  #+aodbc-v2
   (handler-case
       (dbi:sql query-expression :db (database-aodbc-conn database)
               :types types)
@@ -79,6 +86,7 @@
 
 (defmethod database-execute-command (sql-expression 
                                     (database aodbc-database))
+  #+aodbc-v2
   (handler-case
       (dbi:sql sql-expression :db (database-aodbc-conn database))
     (error ()
 
 (defmethod database-query-result-set (query-expression (database aodbc-database) 
                                      &key full-set types)
+  #+aodbc-v2
   (handler-case 
       (multiple-value-bind (query column-names)
          (dbi:sql query-expression 
             :error "Query result set failed"))))
 
 (defmethod database-dump-result-set (result-set (database aodbc-database))
+  #+aodbc-v2
   (dbi:close-query (aodbc-result-set-query result-set))
   t)
 
 (defmethod database-store-next-row (result-set
                                    (database aodbc-database)
                                    list)
+  #+aodbc-v2
   (let ((row (dbi:fetch-row (aodbc-result-set-query result-set) nil 'eof)))
     (if (eq row 'eof)
        nil