clsql/db-mysql mysql-sql.lisp,1.5,1.6
"Kevin M. Rosenberg" <[email protected]> Mon, 23 Jun 2003 13:25:32 -0600
| Newsgroups | gmane.lisp.clsql.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /pubcvs/clsql/db-mysql In directory boa.b9.com:/tmp/cvs-serv31650/db-mysql Modified Files: mysql-sql.lisp Log Message: Auto commit for Debian build Index: mysql-sql.lisp =================================================================== RCS file: /pubcvs/clsql/db-mysql/mysql-sql.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** mysql-sql.lisp 8 Jun 2003 12:48:55 -0000 1.5 --- mysql-sql.lisp 23 Jun 2003 19:25:30 -0000 1.6 *************** *** 160,163 **** --- 160,204 ---- (loop for row = (mysql-fetch-row res-ptr) until (uffi:null-pointer-p row) + collect + (do* ((rlist (make-list num-fields)) + (i 0 (1+ i)) + (pos rlist (cdr pos))) + ((= i num-fields) rlist) + (declare (fixnum i)) + (setf (car pos) + (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)))))) + + #+ignore + (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