r10074: Add mediumint
[clsql.git] / db-mysql / mysql-objects.lisp
index a118f479f2a12949a516cbe4f2ec9cbb0f6e535a..64c844ed8894abfcb4191d5db8d570672e02e8f1 100644 (file)
   (declare (ignore args database))
   "DATETIME")
 
+(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 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
                           (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))))