projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14 Sep 2007 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git]
/
sql
/
metaclasses.lisp
diff --git
a/sql/metaclasses.lisp
b/sql/metaclasses.lisp
index d1fba154368fdf54e9d389a77fd753f395dd4f79..bed60eeea4825fca492dbd2ebc62cf0943dc07a3 100644
(file)
--- a/
sql/metaclasses.lisp
+++ b/
sql/metaclasses.lisp
@@
-74,11
+74,13
@@
(defun table-name-from-arg (arg)
(cond ((symbolp arg)
(defun table-name-from-arg (arg)
(cond ((symbolp arg)
-
arg
)
+
(intern (sql-escape arg))
)
((typep arg 'sql-ident)
((typep arg 'sql-ident)
- (slot-value arg 'name))
+ (if (symbolp (slot-value arg 'name))
+ (intern (sql-escape (slot-value arg 'name)))
+ (sql-escape (slot-value arg 'name))))
((stringp arg)
((stringp arg)
- (
intern
arg))))
+ (
sql-escape
arg))))
(defun column-name-from-arg (arg)
(cond ((symbolp arg)
(defun column-name-from-arg (arg)
(cond ((symbolp arg)
@@
-121,11
+123,11
@@
(remove-keyword-arg all-keys :direct-superclasses)))
(call-next-method))
(setf (view-table class)
(remove-keyword-arg all-keys :direct-superclasses)))
(call-next-method))
(setf (view-table class)
- (table-name-from-arg (
sql-escape (
or (and base-table
-
(if (listp base-table)
-
(car base-table)
-
base-table))
-
(class-name class)
))))
+ (table-name-from-arg (or (and base-table
+ (if (listp base-table)
+ (car base-table)
+ base-table))
+
(class-name class
))))
(register-metaclass class (nth (1+ (position :direct-slots all-keys))
all-keys))))
(register-metaclass class (nth (1+ (position :direct-slots all-keys))
all-keys))))