X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-sql.lisp;h=eb965cada4f7a3033dfe5213a90ba46684995899;hb=0b757e652eda05d8d824438d925665f17e764d93;hp=857bcd5ec985c78dc863bc8cd50d5432d394ee79;hpb=dc107d34212597ed1272cfa21138d384e71b00d2;p=clsql.git diff --git a/db-mysql/mysql-sql.lisp b/db-mysql/mysql-sql.lisp index 857bcd5..eb965ca 100644 --- a/db-mysql/mysql-sql.lisp +++ b/db-mysql/mysql-sql.lisp @@ -159,9 +159,9 @@ (:boolean-ptr (uffi:with-foreign-object (fo :byte) (setf (uffi:deref-pointer fo :byte) - (if (or (zerop value) (null value)) - 0 - 1)) + (case value + ((nil 0) 0) + (t 1))) (mysql-options mysql-ptr option-code fo))))))))))) (defmethod database-connect (connection-spec (database-type (eql :mysql))) @@ -404,8 +404,10 @@ (unless (find col results :test #'string-equal) (push col results))))) -(defmethod database-list-attributes ((table string) (database mysql-database) - &key (owner nil)) +(defmethod database-list-attributes ((table clsql-sys::%database-identifier) + (database mysql-database) + &key (owner nil) + &aux (table (unescaped-database-identifier table))) (declare (ignore owner)) (mapcar #'car (database-query @@ -413,9 +415,12 @@ table database)) database nil nil))) -(defmethod database-attribute-type (attribute (table string) +(defmethod database-attribute-type ((attribute clsql-sys::%database-identifier) + (table clsql-sys::%database-identifier) (database mysql-database) - &key (owner nil)) + &key (owner nil) + &aux (table (unescaped-database-identifier table)) + (attribute (unescaped-database-identifier attribute))) (declare (ignore owner)) (let ((row (car (database-query (format nil