(if args
(format nil "INT(~A)" (car args))
"INT"))
+
+(defmethod database-get-type-specifier ((type (eql 'bigint)) args database)
+ (declare (ignore args database))
+ "BIGINT")
(defmethod database-get-type-specifier ((type (eql 'simple-base-string)) args
database)
"VARCHAR"
"VARCHAR(255)")))
+(defmethod database-get-type-specifier ((type (eql 'universal-time)) args database)
+ (declare (ignore args database))
+ "BIGINT")
+
(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database)
(declare (ignore args))
(case (database-underlying-type database)
(declare (ignore database))
(etypecase val
(string
- (read-from-string val))
+ (parse-integer val))
+ (number val)))
+
+(defmethod read-sql-value (val (type (eql 'bigint)) database)
+ (declare (ignore database))
+ (etypecase val
+ (string
+ (parse-integer val))
(number val)))
(defmethod read-sql-value (val (type (eql 'float)) database)
(declare (ignore database))
(equal "t" val))
+(defmethod read-sql-value (val (type (eql 'univeral-time)) database)
+ (declare (ignore database))
+ (unless (eq 'NULL val)
+ (etypecase val
+ (string
+ (parse-intger val))
+ (number val)))
+
(defmethod read-sql-value (val (type (eql 'wall-time)) database)
(declare (ignore database))
(unless (eq 'NULL val)