r9388: * db-oracle/oracle-api: Add OCIServerVersion
[clsql.git] / db-oracle / oracle-objects.lisp
index 23f22d7cf48fb759dc8cf5a2f9edf05d783d179b..84a352cba819c6f99619f004e42874ecd763c811 100644 (file)
@@ -1,4 +1,19 @@
-(in-package :clsql-oracle)
+;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
+;;;;
+;;;; Name: oracle-objects.lisp
+;;;;
+;;;; $Id$
+;;;;
+;;;; This file is part of CLSQL.
+;;;;
+;;;; CLSQL users are granted the rights to distribute and use this software
+;;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+;;;; *************************************************************************
+
+(in-package #:clsql-oracle)
 
 (defparameter *oracle-default-varchar2-length* "512")
 
              (or (first args) 38) (or (second args) 38))
     "NUMBER"))
 
+(defmethod database-get-type-specifier
+    ((type (eql 'boolean)) args (database oracle-database))
+  (declare (ignore args))
+  "CHAR(1)")
+
 (defmethod read-sql-value (val type (database oracle-database))
-  (declare (ignore type database))
   ;;(format t "value is \"~A\" of type ~A~%" val (type-of val))
+  (declare (ignore type))
   (etypecase val
     (string
      (read-from-string val))
 
 (defmethod read-sql-value
   (val (type (eql 'integer)) (database oracle-database))
-  (declare (ignore database))
   val)
 
 (defmethod read-sql-value (val (type (eql 'float)) (database oracle-database))
   val)
 
-;;; LOCAL-TIME stuff that needs to go into hooks
-#+local-time
-(defmethod clsql-sys::database-get-type-specifier
-  ((type (eql 'local-time::local-time)) args (database oracle-database))
+(defmethod read-sql-value (val (type (eql 'boolean)) (database oracle-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))
   "DATE")
 
-#+local-time
-(defmethod clsql-sys::database-get-type-specifier
-  ((type (eql 'local-time::duration))
+(defmethod database-get-type-specifier
+  ((type (eql 'duration))
    args
    (database oracle-database))
   (declare (ignore args))