X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-objects.lisp;h=0a9e7b324e1c1bd8c46cc1f40dc8d15fdfaf1dd7;hb=f2e97f7b39c1cf82b6f3d1cec9362e551761549e;hp=93a802f762ca3be7cefaa5229e0e894097373610;hpb=f103c1a5416d2f22820d66020e4f9c18c766d894;p=clsql.git diff --git a/db-mysql/mysql-objects.lisp b/db-mysql/mysql-objects.lisp index 93a802f..0a9e7b3 100644 --- a/db-mysql/mysql-objects.lisp +++ b/db-mysql/mysql-objects.lisp @@ -13,36 +13,13 @@ (in-package #:clsql-mysql) -(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database +(defmethod database-get-type-specifier ((type symbol) args database (db-type (eql :mysql))) - (declare (ignore args database)) - "DATETIME") + (declare (ignore args database db-type)) + (case type + (wall-time "DATETIME") + (tinyint "TINYINT") + (smallint "SMALLINT") + (mediumint "MEDIUMINT") + (t (call-next-method)))) -(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 '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))))