r1699: *** empty log message ***
[clsql.git] / interfaces / mysql / mysql-loader.cl
index df0bd643915574b513f550d30a7fc40e3802475c..caa8c55fa559ba80f6194e4dd62f2bb03f504f50 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmers:   Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
 ;;;; Programmers:   Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: mysql-loader.cl,v 1.1 2002/03/23 14:04:52 kevin Exp $
+;;;; $Id: mysql-loader.cl,v 1.3 2002/03/24 04:37:09 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 load the MySQL client library succesfully.  If this differs at your site,
 set to the right path before compiling or loading the system.")
 
 load the MySQL client library succesfully.  If this differs at your site,
 set to the right path before compiling or loading the system.")
 
+(defvar *mysql-library-loaded* nil
+  "T if foreign library was able to be loaded successfully")
 
 
+(defmethod clsql-sys:database-type-library-loaded ((database-type (eql :mysql)))
+  *mysql-library-loaded*)
+                                     
+(defmethod clsql-sys:database-type-load-foreign ((database-type (eql :mysql)))
+  (when
+      (and
+       (uffi:load-foreign-library *mysql-library-filename* 
+                                 :module "mysql" 
+                                 :supporting-libraries 
+                                 *mysql-supporting-libraries*)
+       (uffi:load-foreign-library *clsql-mysql-library-filename* 
+                                 :module "clsql-mysql" 
+                                 :supporting-libraries 
+                                 (append *mysql-supporting-libraries*)))
+    (setq *mysql-library-loaded* t)))
 
 
-(defmethod database-type-load-foreign ((database-type (eql :mysql)))
-  (uffi:load-foreign-library *mysql-library-filename* 
-                            :module "mysql" 
-                             :supporting-libraries 
-                            *mysql-supporting-libraries*)
-  (uffi:load-foreign-library *clsql-mysql-library-filename* 
-                            :module "clsql-mysql" 
-                             :supporting-libraries 
-                            (append *mysql-supporting-libraries*)))
 
 
-
-(database-type-load-foreign :mysql)
+(clsql-sys:database-type-load-foreign :mysql)