;;;; *************************************************************************
;;;; 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.2 2003/05/17 07:27:15 kevin Exp $
+;;;; $Id: mysql-api.lisp,v 1.6 2003/07/21 01:45:45 kevin Exp $
;;;;
;;;; 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.
;;;; *************************************************************************
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-
-(in-package :mysql)
+(in-package #:mysql)
;;;; Modifications from original code
;;;; - Updated C-structures to conform to structures in MySQL 3.23.46
(:blob 252)
(:var-string 253)
(:string 254)))
-
-#-(or win32 mswindows)
+
+#-(or mysql-client-v3 mysql-client-v4)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (pushnew :mysql-client-v3 cl:*features*))
+
+#+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))