Re: [PATCH] expressions, metaclasses, generic-postgresql
"Dmitriy Ivanov" <divanov-OY8o98/[email protected]> Mon, 5 Dec 2005 19:55:50 +0300
| Newsgroups | gmane.lisp.clsql.devel |
|---|---|
| Organization | Ystok-Systema |
| Message-ID | <[email protected]> |
Hello Vladimir, "Vladimir Sekissov" <[email protected]> wrote: VS> Good day, VS> VS> Here are small patches for CLSQL. VS> VS> Changes: VS> | ...snip...| VS> - sql/metaclasses.lisp - check that metaclass is standard-db-class VS> orit's subclass to prevent adding standard-db-object to supers if VS> somebody in the path has it already when metaclass inherited from VS> standard-db-class. VS>| ...snip...| VS> (let ((root-class (find-class 'standard-db-object nil)) VS> - (vmc (find-class 'standard-db-class))) VS> + (vmc 'standard-db-class)) VS> (setf (view-table class) VS> (table-name-from-arg (sql-escape (or (and base-table VS> (if (listp base-table) VS> ... VS> (setf (view-class-qualifier class) VS> (car qualifier)) VS> (if (and root-class (not (equal class root-class))) VS> - (if (member-if #'(lambda (super) VS> - (eq (class-of super) vmc)) direct-superclasses) VS> + (if (some #'(lambda (super) (typep super vmc)) VS> + direct-superclasses) VS> (call-next-method) VS> (apply #'call-next-method VS> class Do you see much diffefence between checking by means of (typep super 'standard-db-class) vs. (eq (class-of super) vmc) ; (find-class 'standard-db-class) ? -- Sincerely, Dmitriy Ivanov lisp.ystok.ru