X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=a43c4acd836381ab77f928401c542aa191717e02;hp=5d47ce972af8d1fa811c443ec7cf058474aef55b;hb=e7a214b2445830219022acb5911a3f9303d938bd;hpb=8a8ee2d7d791b7a3efaed06420802a925d16fca3 diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index 5d47ce9..a43c4ac 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -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))