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