X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-oracle%2Foracle-objects.lisp;h=ac8544556246a9be5f6e8aceaa88880b49f45f7a;hp=9cebea18adec007e6c454604d7ffc36fa9e8a773;hb=a050eddab954ab3045d8427cf0c5563142266833;hpb=e7a214b2445830219022acb5911a3f9303d938bd diff --git a/db-oracle/oracle-objects.lisp b/db-oracle/oracle-objects.lisp index 9cebea1..ac85445 100644 --- a/db-oracle/oracle-objects.lisp +++ b/db-oracle/oracle-objects.lisp @@ -29,11 +29,13 @@ (defmethod database-get-type-specifier ((type (eql 'bigint)) args database (db-type (eql :oracle))) - (declare (ignore database)) - (if args - (format nil "NUMBER(~A,~A)" - (or (first args) 38) (or (second args) 0)) - "NUMBER(38,0)")) + (declare (ignore args database)) + "CHAR(20)") + +(defmethod database-get-type-specifier ((type (eql 'universal-time)) args + database (db-type (eql :oracle))) + (declare (ignore args database)) + "CHAR(20)") (defmethod database-get-type-specifier ((type (eql 'string)) args database (db-type (eql :oracle))) @@ -69,6 +71,11 @@ (declare (ignore args database)) "CHAR(1)") +(defmethod database-get-type-specifier ((type (eql 'generalized-boolean)) args + database (db-type (eql :oracle))) + (declare (ignore args database)) + "CHAR(1)") + (defmethod read-sql-value (val type database (db-type (eql :oracle))) ;;(format t "value is \"~A\" of type ~A~%" val (type-of val)) @@ -95,6 +102,23 @@ (when (char-equal #\t (schar val 0)) t)) +(defmethod read-sql-value (val (type (eql 'generalized-boolean)) + database (db-type (eql :oracle))) + (declare (ignore database)) + (when (char-equal #\t (schar val 0)) + t)) + +(defmethod read-sql-value (val (type (eql 'bigint)) + database (db-type (eql :oracle))) + (declare (ignore database)) + (parse-integer val)) + +(defmethod read-sql-value (val (type (eql 'universal-time)) + database (db-type (eql :oracle))) + (declare (ignore database)) + (parse-integer val)) + + (defmethod database-get-type-specifier ((type (eql 'wall-time)) args database (db-type (eql :oracle))) (declare (ignore args database))