[elephant-cvs] CVS elephant

ieslick ieslick at common-lisp.net
Wed Feb 21 06:29:31 UTC 2007


Update of /project/elephant/cvsroot/elephant
In directory clnet:/tmp/cvs-serv26319

Modified Files:
	TODO 
Log Message:
Fix to slot-makunbound handling for indexed slots and a regression test to validate

--- /project/elephant/cvsroot/elephant/TODO	2007/02/21 04:47:41	1.56
+++ /project/elephant/cvsroot/elephant/TODO	2007/02/21 06:29:31	1.57
@@ -37,8 +37,7 @@
 - Unicode tests
   - Test with UTF-16 and UTF-32 strings (construct with char-code?)
   - Ensure that variable length UTF-8 is automatically stored as UTF-16
-- Map tests
-- Class index sychronization tests
+- Class / DB sychronization tests
 
 TASKS TO GET TO FINAL RELEASE:
 
@@ -61,6 +60,8 @@
 Major Bugs:
 x Derived indices fail to re-connect after reopening a database under :class synchronization policy (Ian)
 x Package translation to properly upgrade databases where packages were renamed (Robert)
+x Fix a bug where slot-makunbound on a persistent object failed to remove secondary index references
+  for class and slot indices.  Made a test to validate this.
 
 Minor Bugs:
 x Enable with-transactions to properly process forms returning multiple values (Ian)
@@ -71,6 +72,9 @@
 
 Feature tweaking:
 x Orthogonal feature addition: map-index, map-class and map-instances to avoid consing (Ian)
+x Tests to validate new map interfaces on top of existing tests
+
+DEVELOPMENT CHECKINS:
 
 February 13-17th, 2007:
 x Allow checkpoint of BDB via db-bdb::checkpoint
@@ -157,6 +161,10 @@
 Storage and Indexing:
 - Add :inverse-reader to slot options to create a named method that indexes into objects 
   based on slot values.  Is this a GF or defun?  Do we dispatch on class name or bake it in?
+- If a class inherits an indexed slot, is it also indexed for that class?  This means a 
+  proliferation of indexes, or requires user to explicitly add an index as a derived slot.
+- What if we want an index to index into a range of different subclasses or objects sharing
+  a generic function?  (roll your own?)
 - Reclaim table storage on index drop?  It's nice to be able to reconnect sometimes!
   Perhaps an API command that allows explicit dropping of tables for a class and a policy
   parameter that determines if this is the default?
@@ -177,16 +185,18 @@
   global remove/add in order to maintain consistency (Ian)
 
 Design:
+  - Move secondary index maintenance to backend; decison on how to call update fn's
+    Will make lisp backend cheaper due to ability to life tree manipulation ops
   - Use SWIG and CFFI to better track changes in defconstant? (too expensive to be useful)
   - Evaluate porting elephant to closer-to-MOP to make it easier to
     support additional lisps and to seriously clean up
     metaclasses.lisp and classes.lisp protocols (no love on first attempt)
-  (log these in Track; not part of 0.6.2)
-  - Serious work to integrate a proper condition system and potential restarts 
+  - Work to integrate a proper condition system and potential restarts 
     for various errors (especially recoverable ones) while accessing db data 
     - deserialize fubar / diagnose & return value
     - missing package / add package/symbol translation
     - others?
+  (log these in Track; not part of 0.6.2?)
 
 Features:
   - Backup function: allow users to specify a backup function to archive the database contents




More information about the Elephant-cvs mailing list