clsql/db-mysql mysql-api.lisp,1.2,1.3 mysql-sql.lisp,1.4,1.5
"Kevin M. Rosenberg" <[email protected]> Sun, 8 Jun 2003 06:48:57 -0600
| Newsgroups | gmane.lisp.clsql.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /pubcvs/clsql/db-mysql
In directory boa.b9.com:/tmp/cvs-serv10175/db-mysql
Modified Files:
mysql-api.lisp mysql-sql.lisp
Log Message:
Index: mysql-api.lisp
===================================================================
RCS file: /pubcvs/clsql/db-mysql/mysql-api.lisp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** mysql-api.lisp 17 May 2003 07:27:15 -0000 1.2
--- mysql-api.lisp 8 Jun 2003 12:48:55 -0000 1.3
***************
*** 19,25 ****
;;;; *************************************************************************
! (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
! (in-package :mysql)
;;;; Modifications from original code
--- 19,26 ----
;;;; *************************************************************************
! (eval-when (:compile-toplevel)
! (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))))
! (in-package #:mysql)
;;;; Modifications from original code
Index: mysql-sql.lisp
===================================================================
RCS file: /pubcvs/clsql/db-mysql/mysql-sql.lisp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** mysql-sql.lisp 16 Apr 2003 21:50:01 -0000 1.4
--- mysql-sql.lisp 8 Jun 2003 12:48:55 -0000 1.5
***************
*** 19,23 ****
;;;; *************************************************************************
! (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
;;;; Modified by Kevin Rosenberg, Feb 20002
--- 19,24 ----
;;;; *************************************************************************
! (eval-when (:compile-toplevel)
! (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))))
;;;; Modified by Kevin Rosenberg, Feb 20002
***************
*** 33,42 ****
;;;; Added field types
! (defpackage :clsql-mysql
(:use #:common-lisp #:clsql-base-sys #:mysql #:clsql-uffi)
(:export #:mysql-database)
(:documentation "This is the CLSQL interface to MySQL."))
! (in-package :clsql-mysql)
;;; Field conversion functions
--- 34,43 ----
;;;; Added field types
! (defpackage #:clsql-mysql
(:use #:common-lisp #:clsql-base-sys #:mysql #:clsql-uffi)
(:export #:mysql-database)
(:documentation "This is the CLSQL interface to MySQL."))
! (in-package #:clsql-mysql)
;;; Field conversion functions
***************
*** 145,177 ****
(defmethod database-query (query-expression (database mysql-database)
types)
! (with-slots (mysql-ptr) database
(uffi:with-cstring (query-native query-expression)
! (if (zerop (mysql-query mysql-ptr query-native))
! (let ((res-ptr (mysql-use-result mysql-ptr)))
! (if res-ptr
! (unwind-protect
! (let ((num-fields (mysql-num-fields res-ptr)))
! (setq types (canonicalize-types
! types num-fields
! res-ptr))
! (loop for row = (mysql-fetch-row res-ptr)
! until (uffi:null-pointer-p row)
! collect
! (loop for i from 0 below num-fields
! collect
! (convert-raw-field
! (uffi:deref-array row '(:array (* :unsigned-char)) i)
! types i))))
! (mysql-free-result res-ptr))
! (error 'clsql-sql-error
! :database database
! :expression query-expression
! :errno (mysql-errno mysql-ptr)
! :error (mysql-error-string mysql-ptr))))
! (error 'clsql-sql-error
! :database database
! :expression query-expression
! :errno (mysql-errno mysql-ptr)
! :error (mysql-error-string mysql-ptr))))))
(defmethod database-execute-command (sql-expression (database mysql-database))
--- 146,182 ----
(defmethod database-query (query-expression (database mysql-database)
types)
! (declare (optimize (speed 3) (safety 0) (debug 0) (space 0)))
! (let ((mysql-ptr (database-mysql-ptr database)))
(uffi:with-cstring (query-native query-expression)
! (if (zerop (mysql-query mysql-ptr query-native))
! (let ((res-ptr (mysql-use-result mysql-ptr)))
! (if res-ptr
! (unwind-protect
! (let ((num-fields (mysql-num-fields res-ptr)))
! (declare (fixnum num-fields))
! (setq types (canonicalize-types
! types num-fields
! res-ptr))
! (loop for row = (mysql-fetch-row res-ptr)
! until (uffi:null-pointer-p row)
! collect
! (loop for i fixnum from 0 below num-fields
! collect
! (convert-raw-field
! (uffi:deref-array row '(:array
! (* :unsigned-char))
! i)
! types i))))
! (mysql-free-result res-ptr))
! (error 'clsql-sql-error
! :database database
! :expression query-expression
! :errno (mysql-errno mysql-ptr)
! :error (mysql-error-string mysql-ptr))))
! (error 'clsql-sql-error
! :database database
! :expression query-expression
! :errno (mysql-errno mysql-ptr)
! :error (mysql-error-string mysql-ptr))))))
(defmethod database-execute-command (sql-expression (database mysql-database))