r9003: odbc updates
[clsql.git] / db-odbc / odbc-sql.lisp
index 474ef8e96f64baa0dbd5e6ac11697f7578ad83c0..a92e6feeca8bd7462d3c81fa60d3fdd9351342f5 100644 (file)
@@ -42,7 +42,7 @@
        (make-instance 'odbc-database
          :name (database-name-from-spec connection-spec :odbc)
          :odbc-conn
-         (odbc:connect :user user
+         (odbc-dbi:connect :user user
                        :password password
                        :data-source-name dsn))
       (error ()        ;; Init or Connect failed
               :errno nil
               :error "Connection failed")))))
 
+#+nil
+(defun store-type-of-connected-database (db)
+  (let* ((odbc-db (odbc-db db))
+        (server-name (get-odbc-info odbc-db odbc::$SQL_SERVER_NAME))
+        (dbms-name (get-odbc-info odbc-db odbc::$SQL_DBMS_NAME))
+        (type
+         ;; need SERVER-NAME and DBMS-NAME because many drivers mix this up
+         (cond 
+          ((or (search "postgresql" server-name :test #'char-equal)
+               (search "postgresql" dbms-name :test #'char-equal))
+           :postgresql)
+          ((or (search "mysql" server-name :test #'char-equal)
+               (search "mysql" dbms-name :test #'char-equal))
+           :mysql)
+          ((or (search "oracle" server-name :test #'char-equal)
+               (search "oracle" dbms-name :test #'char-equal))
+           :oracle))))
+    (setf (database-type db) type)))
+  
+
 (defmethod database-disconnect ((database odbc-database))
-  (odbc:disconnect (database-odbc-conn database))
+  (odbc-dbi:disconnect (database-odbc-conn database))
   (setf (database-odbc-conn database) nil)
   t)
 
 (defmethod database-query (query-expression (database odbc-database) result-types) 
   (handler-case
-      (odbc:query query-expression :db (database-odbc-conn database)
+      (odbc-dbi:sql query-expression :db (database-odbc-conn database)
               :types result-types)
     (error ()
       (error 'clsql-sql-error
@@ -71,7 +91,7 @@
 (defmethod database-execute-command (sql-expression 
                                     (database odbc-database))
   (handler-case
-      (odbc:execute sql-expression (database-odbc-conn database))
+      (odbc-dbi:sql sql-expression (database-odbc-conn database))
     (error ()
       (error 'clsql-sql-error
             :database database
                                      &key full-set result-types)
   (handler-case 
       (multiple-value-bind (query column-names)
-         (odbc:query query-expression 
+         (odbc-dbi:sql query-expression 
                   :db (database-odbc-conn database) 
                   :row-count nil
                   :column-names t
             :error "Query result set failed"))))
 
 (defmethod database-dump-result-set (result-set (database odbc-database))
-  (odbc:close-query (odbc-result-set-query result-set))
+  (odbc-dbi:close-query (odbc-result-set-query result-set))
   t)
 
 (defmethod database-store-next-row (result-set
                                    (database odbc-database)
                                    list)
-  (let ((row (odbc:fetch-row (odbc-result-set-query result-set) nil 'eof)))
+  (let ((row (odbc-dbi:fetch-row (odbc-result-set-query result-set) nil 'eof)))
     (if (eq row 'eof)
        nil
       (progn