projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r9482: * doc/TODO: Add AUTOCOMMIT. Remove need for large table and bigint
[clsql.git]
/
sql
/
metaclasses.lisp
diff --git
a/sql/metaclasses.lisp
b/sql/metaclasses.lisp
index 5d47ce972af8d1fa811c443ec7cf058474aef55b..a43c4acd836381ab77f928401c542aa191717e02 100644
(file)
--- 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)) "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)
(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))
((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)))
;; 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))
(change-class esd 'view-class-effective-slot-definition
#+allegro :name
#+allegro (slot-definition-name dsd))