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))