;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: mysql.cl
+;;;; Name: mysql-api.lisp
;;;; Purpose: Low-level MySQL interface using UFFI
;;;; Programmers: Kevin M. Rosenberg based on
;;;; Original code by Pierre R. Mai
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: mysql-api.lisp,v 1.3 2003/06/08 12:48:55 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
;;;; *************************************************************************
-(eval-when (:compile-toplevel)
- (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))))
-
(in-package #:mysql)
;;;; Modifications from original code
(:blob 252)
(:var-string 253)
(:string 254)))
-
-#-(or win32 mswindows)
+
+#+mysql-client-v3
(uffi:def-struct mysql-field
(name (* :char))
(table (* :char))
(flags :unsigned-int)
(decimals :unsigned-int))
-;; structure changed in mysql 4.0.12, win32
-#+(or win32 mswindows)
+;; structure changed in mysql 4 client
+#+mysql-client-v4
(uffi:def-struct mysql-field
(name (* :char))
(table (* :char))
: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)
;; Need to comment this out for LW 4.2.6
;; ? bug in LW version
-;;(declaim (inline mysql-real-connect))
+#-lispworks (declaim (inline mysql-real-connect))
(uffi:def-function "mysql_real_connect"
((mysql (* mysql-mysql))
(host :cstring)
: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 :cstring)
-(declaim (inline mysql-get-client-info))
-(uffi:def-function "mysql_get_client_info"
- ()
- :module "mysql"
- :returning :cstring)
-
(declaim (inline mysql-get-host-info))
(uffi:def-function "mysql_get_host_info"
((mysql (* mysql-mysql)))