[elephant-cvs] CVS elephant/src/elephant

rread rread at common-lisp.net
Wed Feb 22 20:18:52 UTC 2006


Update of /project/elephant/cvsroot/elephant/src/elephant
In directory common-lisp:/tmp/cvs-serv13327/src/elephant

Modified Files:
	classes.lisp classindex.lisp 
Log Message:
New Configuration mechanism.  Minor test changes.  At least to SQL-side fixes.


--- /project/elephant/cvsroot/elephant/src/elephant/classes.lisp	2006/02/21 19:40:03	1.2
+++ /project/elephant/cvsroot/elephant/src/elephant/classes.lisp	2006/02/22 20:18:51	1.3
@@ -18,6 +18,9 @@
 ;;;
 (in-package "ELEPHANT")
 
+(defvar *debug-si* nil)
+
+
 (defmethod initialize-instance :before  ((instance persistent)
 					 &rest initargs
 					 &key from-oid
@@ -128,7 +131,7 @@
 aren't used.  We also handle writing any indices after the 
 class is fully initialized.  Calls the next method for the transient 
 slots."
-  (let* ((class (class-of instance))
+  (let* ((class (find-class (class-name (class-of instance))))
 	 (oid (oid instance))
 	 (persistent-slot-names (persistent-slot-names class)))
     (flet ((persistent-slot-p (item) 
@@ -172,7 +175,7 @@
           ;;   via a cursor without going through the cursor abstraction. There has to be a 
           ;;   better way to do this.
 	  (when (and (indexed class) (not from-oid))
-	    (let ((class-index (find-class-index (class-of instance))))
+	    (let ((class-index (find-class-index class)))
 	      (when class-index
 		(with-transaction (:store-controller (get-con class-index))
 		  (setf (get-value oid class-index) instance)))))
--- /project/elephant/cvsroot/elephant/src/elephant/classindex.lisp	2006/02/22 17:15:49	1.3
+++ /project/elephant/cvsroot/elephant/src/elephant/classindex.lisp	2006/02/22 20:18:51	1.4
@@ -354,8 +354,9 @@
   (get-instances-by-value (find-class class) slot-name value))
 
 (defmethod get-instances-by-value ((class persistent-metaclass) slot-name value)
-  (declare (optimize (speed 3) (safety 1) (space 1))
-	   (type (or string symbol) slot-name))
+  (declare 
+   (optimize (speed 3) (safety 1) (space 1))
+   (type (or string symbol) slot-name))
   (let ((instances nil))
     (with-btree-cursor (cur (find-inverted-index class slot-name))
       (multiple-value-bind (exists? skey val pkey) (cursor-pset cur value)




More information about the Elephant-cvs mailing list