r9447: * sql/*.lisp: Add db-type parameter to generic functions READ-SQL...
[clsql.git] / db-oracle / oracle-objects.lisp
index b4467ca0da792c26982050b40b485b9dc57c601f..5f2651593a5b63fc867433439a63f2a3d6d3e624 100644 (file)
 
 (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)")