1 (in-package :clsql-oracle)
3 (defparameter *oracle-default-varchar2-length* "512")
5 (defmethod database-get-type-specifier
6 (type args (database oracle-database))
7 (declare (ignore type args))
8 (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))
10 (defmethod database-get-type-specifier
11 ((type (eql 'integer)) args (database oracle-database))
13 (format nil "NUMBER(~A,~A)"
14 (or (first args) 38) (or (second args) 0))
17 (defmethod database-get-type-specifier
18 ((type (eql 'simple-base-string)) args (database oracle-database))
20 (format nil "VARCHAR2(~A)" (car args))
21 (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")")))
23 (defmethod database-get-type-specifier
24 ((type (eql 'simple-string)) args (database oracle-database))
26 (format nil "VARCHAR2(~A)" (car args))
27 (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")")))
29 (defmethod database-get-type-specifier
30 ((type (eql 'string)) args (database oracle-database))
32 (format nil "VARCHAR2(~A)" (car args))
33 (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))
36 (defmethod database-get-type-specifier
37 ((type (eql 'raw-string)) args (database oracle-database))
39 (format nil "VARCHAR2(~A)" (car args))
40 (concatenate 'string "VARCHAR2(" *oracle-default-varchar2-length* ")"))
43 (defmethod database-get-type-specifier
44 ((type (eql 'float)) args (database oracle-database))
46 (format nil "NUMBER(~A,~A)"
47 (or (first args) 38) (or (second args) 38))
50 (defmethod database-get-type-specifier
51 ((type (eql 'long-float)) args (database oracle-database))
53 (format nil "NUMBER(~A,~A)"
54 (or (first args) 38) (or (second args) 38))
57 (defmethod read-sql-value (val type (database oracle-database))
58 (declare (ignore type database))
59 ;;(format t "value is \"~A\" of type ~A~%" val (type-of val))
62 (read-from-string val))
66 (defmethod read-sql-value (val (type (eql 'string)) database)
67 (declare (ignore database))
70 (defmethod read-sql-value
71 (val (type (eql 'integer)) (database oracle-database))
72 (declare (ignore database))
75 (defmethod read-sql-value (val (type (eql 'float)) (database oracle-database))
78 ;;; LOCAL-TIME stuff that needs to go into hooks
80 (defmethod clsql-sys::database-get-type-specifier
81 ((type (eql 'local-time::local-time)) args (database oracle-database))
82 (declare (ignore args))
86 (defmethod clsql-sys::database-get-type-specifier
87 ((type (eql 'local-time::duration))
89 (database oracle-database))
90 (declare (ignore args))