r9478: 25 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / sql / metaclasses.lisp
index 5d47ce972af8d1fa811c443ec7cf058474aef55b..a43c4acd836381ab77f928401c542aa191717e02 100644 (file)
@@ -392,10 +392,20 @@ which does type checking before storing a value in a slot."
        ((and (symbolp (car specified-type))
             (string-equal (symbol-name (car specified-type)) "string"))
        'string)
+       ((and (symbolp (car specified-type))
+            (string-equal (symbol-name (car specified-type)) "varchar"))
+       'string)
+       ((and (symbolp (car specified-type))
+            (string-equal (symbol-name (car specified-type)) "char"))
+       'string)
        (t
        specified-type)))
     ((eq (ensure-keyword specified-type) :bigint)
      'integer)
+    ((eq (ensure-keyword specified-type) :char)
+     'character)
+    ((eq (ensure-keyword specified-type) :varchar)
+     'string)
     ((and specified-type
          (not (eql :not-null (slot-value slotd 'db-constraints))))
      `(or null ,specified-type))
@@ -497,6 +507,7 @@ which does type checking before storing a value in a slot."
        ;; all other slots
        (t
         (let ((type-predicate #+openmcl (slot-value esd 'ccl::type-predicate)))
+          #-openmcl (declare (ignore type-predicate))
           (change-class esd 'view-class-effective-slot-definition
                         #+allegro :name 
                         #+allegro (slot-definition-name dsd))