r11859: Canonicalize whitespace
[clsql.git] / db-mysql / mysql-api.lisp
index fb6bfbf8794aaca45307826dc47595bdd8c89956..59cbe8c60692dbbcd2ec2f554cc907e6bf31316b 100644 (file)
@@ -4,8 +4,8 @@
 ;;;;
 ;;;; Name:          mysql-api.lisp
 ;;;; Purpose:       Low-level MySQL interface using UFFI
-;;;; Programmers:   Kevin M. Rosenberg based on 
-;;;;                Original code by Pierre R. Mai 
+;;;; Programmers:   Kevin M. Rosenberg based on
+;;;;                Original code by Pierre R. Mai
 ;;;; Date Started:  Feb 2002
 ;;;;
 ;;;; $Id$
@@ -27,7 +27,7 @@
 ;;;;    that are used in a few routines.
 ;;;;  - Removed all references to interiors of C-structions, this will
 ;;;;    increase robustness when MySQL's internal structures change.
+
 ;;;; Type definitions
 
 ;;; Basic Types
   (decimals :unsigned-int)
   (type mysql-field-types))
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-struct mysql-field
     (name (* :char))
   (org_name (* :char))
   (charsetnr :unsigned-int)
   (type mysql-field-types))
 
+
 (uffi:def-struct mysql-time
     (year :unsigned-int)
   (month :unsigned-int)
      :read-default-group))
 
 (uffi:def-enum mysql-status
-    (:ready 
+    (:ready
      :get-result
      :use-result))
 
   (handle (:struct-pointer mysql-mysql))
   (eof mysql-bool))
 
-#+mysql-client-4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-enum mysql-field-types
-    (:ready 
+    (:ready
      :get-result
      :use-result))
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-struct mysql-bind
     (length (* :unsigned-long))
   (is-null (* mysql-bool))
 (declaim (inline mysql-init))
 (uffi:def-function "mysql_init"
   ((mysql (* mysql-mysql)))
-  :module "mysql" 
-  :returning (* mysql-mysql))
-
-#-mysql-client-v4
-(declaim (inline mysql-connect))
-#-mysql-client-v4
-(uffi:def-function "mysql_connect"
-    ((mysql (* mysql-mysql))
-     (host :cstring)
-     (user :cstring)
-     (passwd :cstring))
   :module "mysql"
   :returning (* mysql-mysql))
 
   :module "mysql"
   :returning :int)
 
-#-mysql-client-v4
-(declaim (inline mysql-create-db))
-#-mysql-client-v4
-(uffi:def-function "mysql_create_db"
-  ((mysql (* mysql-mysql))
-   (db :cstring))
-  :module "mysql"
-  :returning :int)
-
-#-mysql-client-v4
-(declaim (inline mysql-drop-db))
-#-mysql-client-v4
-(uffi:def-function "mysql_drop_db"
-    ((mysql (* mysql-mysql))
-     (db :cstring))
-  :module "mysql"
-  :returning :int)
-
 (declaim (inline mysql-shutdown))
 (uffi:def-function "mysql_shutdown"
   ((mysql (* mysql-mysql)))
   :module "clsql-mysql"
   :returning :unsigned-int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-foreign-type mysql-stmt-ptr :pointer-void)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_init"
     ((res (* mysql-mysql-res)))
   :module "clsql-mysql"
   :returning mysql-stmt-ptr)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_prepare"
     ((stmt mysql-stmt-ptr)
      (query :cstring)
   :module "clsql-mysql"
   :returning :int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_param_count"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :unsigned-int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_bind_param"
     ((stmt mysql-stmt-ptr)
      (bind (* mysql-bind)))
   :module "clsql-mysql"
   :returning :short)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_bind_result"
     ((stmt mysql-stmt-ptr)
      (bind (* mysql-bind)))
   :module "clsql-mysql"
   :returning :short)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_result_metadata"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning (* mysql-mysql-res))
 
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_execute"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_store_result"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_fetch"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_free_result"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :short)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_close"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :short)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_errno"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
   :returning :unsigned-int)
 
-#+mysql-client-v4.1
+#+(or mysql-client-v4.1 mysql-client-v5)
 (uffi:def-function "mysql_stmt_error"
     ((stmt mysql-stmt-ptr))
   :module "clsql-mysql"
 (defun mysql-num-rows (res)
   (uffi:with-foreign-object (p-high32 :unsigned-int)
     (let ((low32 (clsql-mysql-num-rows res p-high32))
-         (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
+          (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
       (if (zerop high32)
-         low32
-       (make-64-bit-integer high32 low32)))))
+          low32
+        (make-64-bit-integer high32 low32)))))
 
 (uffi:def-function "clsql_mysql_affected_rows"
     ((mysql (* mysql-mysql))
 (defun mysql-affected-rows (mysql)
   (uffi:with-foreign-object (p-high32 :unsigned-int)
     (let ((low32 (clsql-mysql-affected-rows mysql p-high32))
-         (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
+          (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
       (if (zerop high32)
-         low32
-       (make-64-bit-integer high32 low32)))))
+          low32
+        (make-64-bit-integer high32 low32)))))
 
 (uffi:def-function "clsql_mysql_insert_id"
     ((res (* mysql-mysql))
 (defun mysql-insert-id (mysql)
   (uffi:with-foreign-object (p-high32 :unsigned-int)
   (let ((low32 (clsql-mysql-insert-id mysql p-high32))
-       (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
+        (high32 (uffi:deref-pointer p-high32 :unsigned-int)))
     (if (zerop high32)
-       low32
+        low32
       (make-64-bit-integer high32 low32)))))
 
 
 (declaim (inline mysql-num-fields))
-(uffi:def-function "mysql_num_fields" 
+(uffi:def-function "mysql_num_fields"
   ((res (* mysql-mysql-res)))
   :returning :unsigned-int
   :module "mysql")
-                
+
 (declaim (inline clsql-mysql-eof))
 (uffi:def-function ("mysql_eof" clsql-mysql-eof)
   ((res (* mysql-mysql-res)))