X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-mysql%2Fmysql-objects.lisp;h=93a802f762ca3be7cefaa5229e0e894097373610;hp=ae24cac37abd2910832c2cf1c528213f145e98ad;hb=f103c1a5416d2f22820d66020e4f9c18c766d894;hpb=606f6b3eb642523512d12927ff83120b688e8bf9 diff --git a/db-mysql/mysql-objects.lisp b/db-mysql/mysql-objects.lisp index ae24cac..93a802f 100644 --- a/db-mysql/mysql-objects.lisp +++ b/db-mysql/mysql-objects.lisp @@ -6,8 +6,6 @@ ;;;; Purpose: CLSQL Object layer for MySQL ;;;; Created: May 2004 ;;;; -;;;; $Id: mysql-sql.lisp 9403 2004-05-19 23:46:45Z kevin $ -;;;; ;;;; CLSQL users are granted the rights to distribute and use this software ;;;; as governed by the terms of the Lisp Lesser GNU Public License ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. @@ -15,14 +13,36 @@ (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)) - (if val 1 0)) +(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 'mediumint)) args database + (db-type (eql :mysql))) + (declare (ignore args database)) + "MEDIUMINT") + +(defmethod database-get-type-specifier ((type (eql 'tinyint)) args database + (db-type (eql :mysql))) + (declare (ignore args database)) + "TINYINT") + +(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 'boolean)) (database mysql-database)) +(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))))