[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