X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-objects.lisp;h=ddd6af22452656810c5365a417148f8e7e82c3c6;hb=2961f4f122593e9d4875e88e6af159de28c8dd47;hp=ae24cac37abd2910832c2cf1c528213f145e98ad;hpb=606f6b3eb642523512d12927ff83120b688e8bf9;p=clsql.git diff --git a/db-mysql/mysql-objects.lisp b/db-mysql/mysql-objects.lisp index ae24cac..ddd6af2 100644 --- a/db-mysql/mysql-objects.lisp +++ b/db-mysql/mysql-objects.lisp @@ -6,7 +6,7 @@ ;;;; Purpose: CLSQL Object layer for MySQL ;;;; Created: May 2004 ;;;; -;;;; $Id: mysql-sql.lisp 9403 2004-05-19 23:46:45Z kevin $ +;;;; $Id$ ;;;; ;;;; CLSQL users are granted the rights to distribute and use this software ;;;; as governed by the terms of the Lisp Lesser GNU Public License @@ -15,14 +15,41 @@ (in-package #:clsql-mysql) -(defmethod database-get-type-specifier ((type (eql 'wall-time)) args (database mysql-database)) - (declare (ignore args)) +(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database + (db-type (eql :mysql))) + (declare (ignore args database)) "DATETIME") -(defmethod database-output-sql-as-type ((type (eql 'boolean)) val (database mysql-database)) +(defmethod database-get-type-specifier ((type (eql 'smallint)) args database + (db-type (eql :mysql))) + (declare (ignore args database)) + "SMALLINT") + +(defmethod database-get-type-specifier ((type (eql 'tinyint)) args database + (db-type (eql :mysql))) + (declare (ignore args database)) + "TINYINT") + +(defmethod database-output-sql-as-type ((type (eql 'boolean)) val database + (db-type (eql :mysql))) + (declare (ignore database)) + (if val 1 0)) + +(defmethod database-output-sql-as-type ((type (eql 'generalized-boolean)) val database + (db-type (eql :mysql))) + (declare (ignore database)) (if val 1 0)) -(defmethod read-sql-value (val (type (eql 'boolean)) (database mysql-database)) +(defmethod read-sql-value (val (type (eql 'boolean)) database + (db-type (eql :mysql))) + (declare (ignore database)) + (etypecase val + (string (if (string= "0" val) nil t)) + (integer (if (zerop val) nil t)))) + +(defmethod read-sql-value (val (type (eql 'generalized-boolean)) database + (db-type (eql :mysql))) + (declare (ignore database)) (etypecase val (string (if (string= "0" val) nil t)) (integer (if (zerop val) nil t))))