;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: aodbc-sql.cl,v 1.5 2002/03/25 06:07:06 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)
- :types field-types)
+ :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 field-types
+ :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
))