X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-oracle%2Foracle-objects.lisp;h=5f2651593a5b63fc867433439a63f2a3d6d3e624;hb=5148be446aee32ec705beac3fbba35f499df4fd4;hp=5e88bb1933bf7dc553642d0c9c1676a52906a1e1;hpb=2f185bf0167aa5a0be8e82a0c1ee961ca28f1426;p=clsql.git diff --git a/db-oracle/oracle-objects.lisp b/db-oracle/oracle-objects.lisp index 5e88bb1..5f26515 100644 --- a/db-oracle/oracle-objects.lisp +++ b/db-oracle/oracle-objects.lisp @@ -17,94 +17,106 @@ (defparameter *oracle-default-varchar2-length* "512") -(defmethod database-get-type-specifier - (type args (database oracle-database)) - (declare (ignore type args)) +(defmethod database-get-type-specifier (type args database (db-type (eql :oracle))) + (declare (ignore type args database)) (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")")) -(defmethod database-get-type-specifier ((type (eql 'integer)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'integer)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "NUMBER(~A,~A)" (or (first args) 38) (or (second args) 0)) "INTEGER")) -(defmethod database-get-type-specifier - ((type (eql 'bigint)) args (database oracle-database)) +(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)")) -(defmethod database-get-type-specifier - ((type (eql 'simple-base-string)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'simple-base-string)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "VARCHAR2(~A)" (car args)) (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))) -(defmethod database-get-type-specifier - ((type (eql 'simple-string)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'simple-string)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "VARCHAR2(~A)" (car args)) (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))) -(defmethod database-get-type-specifier - ((type (eql 'string)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'string)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "VARCHAR2(~A)" (car args)) (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))) -(defmethod database-get-type-specifier - ((type (eql 'raw-string)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'raw-string)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "VARCHAR2(~A)" (car args)) (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))) -(defmethod database-get-type-specifier - ((type (eql 'float)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'float)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "NUMBER(~A,~A)" (or (first args) 38) (or (second args) 38)) "double precision")) -(defmethod database-get-type-specifier - ((type (eql 'long-float)) args (database oracle-database)) +(defmethod database-get-type-specifier ((type (eql 'long-float)) args + database (db-type (eql :oracle))) + (declare (ignore database)) (if args (format nil "NUMBER(~A,~A)" (or (first args) 38) (or (second args) 38)) "double precision")) -(defmethod database-get-type-specifier - ((type (eql 'boolean)) args (database oracle-database)) - (declare (ignore args)) +(defmethod database-get-type-specifier ((type (eql 'boolean)) args + database (db-type (eql :oracle))) + (declare (ignore args database)) "CHAR(1)") -(defmethod read-sql-value (val type (database oracle-database)) +(defmethod read-sql-value (val type + database (db-type (eql :oracle))) ;;(format t "value is \"~A\" of type ~A~%" val (type-of val)) - (declare (ignore type)) + (declare (ignore type database)) (etypecase val (string (read-from-string val)) (symbol nil))) -(defmethod read-sql-value - (val (type (eql 'integer)) (database oracle-database)) +(defmethod read-sql-value (val (type (eql 'integer)) + database (db-type (eql :oracle))) + (declare (ignore database)) val) -(defmethod read-sql-value (val (type (eql 'float)) (database oracle-database)) +(defmethod read-sql-value (val (type (eql 'float)) + database (db-type (eql :oracle))) + (declare (ignore database)) val) -(defmethod read-sql-value (val (type (eql 'boolean)) (database oracle-database)) +(defmethod read-sql-value (val (type (eql 'boolean)) + database (db-type (eql :oracle))) + (declare (ignore database)) (when (char-equal #\t (schar val 0)) t)) -(defmethod database-get-type-specifier - ((type (eql 'wall-time)) args (database oracle-database)) - (declare (ignore args)) +(defmethod database-get-type-specifier ((type (eql 'wall-time)) args + database (db-type (eql :oracle))) + (declare (ignore args database)) "DATE") -(defmethod database-get-type-specifier - ((type (eql 'duration)) - args - (database oracle-database)) - (declare (ignore args)) +(defmethod database-get-type-specifier ((type (eql 'duration)) args + database (db-type (eql :oracle))) + (declare (ignore args database)) "NUMBER(38)")