X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-client-info.lisp;fp=db-mysql%2Fmysql-client-info.lisp;h=df454bda2742b3447cc2be791a76cd00f1872185;hb=5dfea0c629f967d7ace700b63adf62eb11f88d9b;hp=0000000000000000000000000000000000000000;hpb=adbb571cf319c49f1cad47f22c83982b5253d4b5;p=clsql.git diff --git a/db-mysql/mysql-client-info.lisp b/db-mysql/mysql-client-info.lisp new file mode 100644 index 0000000..df454bd --- /dev/null +++ b/db-mysql/mysql-client-info.lisp @@ -0,0 +1,42 @@ +;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;;; ************************************************************************* +;;;; FILE IDENTIFICATION +;;;; +;;;; Name: mysql-client-info.lisp +;;;; Purpose: Check mysql client version +;;;; Programmer: Kevin M. Rosenberg +;;;; Date Started: April 2004 +;;;; +;;;; $Id: mysql-api.lisp 8801 2004-03-31 23:48:44Z kevin $ +;;;; +;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; and Copyright (c) 1999-2001 by Pierre R. Mai +;;;; +;;;; CLSQL users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. +;;;; ************************************************************************* + +(in-package #:mysql) + +(declaim (inline mysql-get-client-info)) + +(eval-when (:compile-toplevel :load-toplevel :execute) + (uffi:def-function "mysql_get_client_info" + () + :module "mysql" + :returning :cstring) + + (let ((version (uffi:convert-from-cstring (mysql-get-client-info)))) + (cond + ((eql (schar version 0) #\3) + (pushnew :mysql-client-v3 cl:*features*)) + ((eql (schar version 0) #\4) + (pushnew :mysql-client-v4 cl:*features*)) + (t + (error "Unknown mysql client version '~A'." version))))) + +;;#-(or :mysql-client-v3 :mysql-client-v4) +;;(eval-when (:compile-toplevel :load-toplevel :execute) +;; (pushnew :mysql-client-v3 cl:*features*)) +