From: Kevin M. Rosenberg Date: Wed, 12 May 2004 20:10:19 +0000 (+0000) Subject: r9323: * db-mysql/mysql-api.lisp: Fix int vs. long slots in foreign X-Git-Tag: v3.8.6~476 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=a1e81c491c0c15cc50d84b755344d07dc74e09c8 r9323: * db-mysql/mysql-api.lisp: Fix int vs. long slots in foreign structures found by testing with AllegroCL 7.0b AMD64. --- diff --git a/ChangeLog b/ChangeLog index 6bfdd11..4a29be9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ 11 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * db-mysql/mysql-api.lisp: Fix int vs. long slots in foreign + structures found by testing with AllegroCL 7.0b AMD64. * sql/objects.lisp: Initial caching support for SELECT * tests/test-oodml.lisp: Avoid using cache when testing select. * sql/kmr-mop.lisp: Explicitly check slot order and diff --git a/db-mysql/mysql-api.lisp b/db-mysql/mysql-api.lisp index 7170fda..c27a50e 100644 --- a/db-mysql/mysql-api.lisp +++ b/db-mysql/mysql-api.lisp @@ -125,8 +125,8 @@ (org_table (* :char)) (db (* :char)) (def (* :char)) - (length :unsigned-int) - (max-length :unsigned-int) + (length :unsigned-long) + (max-length :unsigned-long) (flags :unsigned-int) (decimals :unsigned-int) (type mysql-field-types)) diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 957c39e..6424e7a 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -18,12 +18,6 @@ (in-package #:mysql) -;;;; Modified by Kevin Rosenberg -;;;; - probe potential directories to find library -;;;; - Changed from CMUCL functions to UFFI to -;;;; -- prevent library from being loaded multiple times -;;;; -- support Allegro CL and Lispworks - (defparameter *clsql-mysql-library-path* (uffi:find-foreign-library "mysql" @@ -37,6 +31,7 @@ (uffi:find-foreign-library '("libz" "zlib") `(,(make-pathname :directory (pathname-directory *load-truename*)) + #+64bit "/usr/lib64/" "/usr/lib/" "/sw/lib/" "/usr/local/lib/" @@ -50,7 +45,9 @@ (defparameter *mysql-library-candidate-directories* `(,(pathname-directory *load-pathname*) - "/opt/mysql/lib/mysql/" "/usr/local/lib/" "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/" "/sw/lib/mysql/")) + "/opt/mysql/lib/mysql/" "/usr/local/lib/" + #+64bit "/usr/lib64/" + "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/" "/sw/lib/mysql/")) (defvar *mysql-library-candidate-drive-letters* '("C" "D" "E")) diff --git a/db-postgresql-socket/postgresql-socket-api.lisp b/db-postgresql-socket/postgresql-socket-api.lisp index 69496c2..620140e 100644 --- a/db-postgresql-socket/postgresql-socket-api.lisp +++ b/db-postgresql-socket/postgresql-socket-api.lisp @@ -220,13 +220,14 @@ socket interface" (unless *crypt-library-loaded* (uffi:load-foreign-library (uffi:find-foreign-library "libcrypt" - '("/usr/lib/" "/usr/local/lib/" "/lib/")) + '(#+64bit "/usr/lib64/" + "/usr/lib/" "/usr/local/lib/" "/lib/")) :supporting-libraries '("c")) (setq *crypt-library-loaded* t))) (in-package :postgresql-socket) -(uffi:def-function "crypt" +(uffi:def-function ("crypt" crypt) ((key :cstring) (salt :cstring)) :returning :cstring)