Update of /project/elephant/cvsroot/elephant In directory common-lisp:/tmp/cvs-serv713
Modified Files: TODO Log Message:
Minor cleanup of indexing tests, declarations and rule-based code. 100% of tests pass under allegro 7.0 and Mac OS X.
--- /project/elephant/cvsroot/elephant/TODO 2006/02/04 22:25:09 1.9 +++ /project/elephant/cvsroot/elephant/TODO 2006/02/08 03:23:12 1.10 @@ -1,3 +1,73 @@ +Feb 6, 2006 + +Release plan in-discussion with Robert and Ian + +Upcoming release ideas. + +0.6.0 - Adding default class/slot indexing +- Finish indexing tests (Ian) +- Documentation update (Robert) +- Tutorial example rethink: update the blog tutorial using indexed + objects to create different views as well as integrating something + like logging for admin or version control purposes. (Both?) + +0.6.1 - performance, safety and portability + +Stability: +- Add clsql like support for building .so/.dylib from asdf loader on most systems +- Port elephant to closer-to-MOP to make it easier to support additional lisps (Both) +- Cleanup multi-repository operation (a simple registry of open stores, + clear object-repository associations) (Both) +- Think through default vs. explicit store referencing all over the APIs (Both) +- Cleaner failure modes if operations are performed without repository (Both) +- Add asserts if *auto-index* is false and we're not in a transaction + to help users avoid lockups in bdb? Should be able to turn off for + performance but it will help catch missing with-transaction statemetns + in user code. (Both) +- BDB: determine how to detect deadlock conditions as an optional run-safe mode? (?) + Does BDB have timeouts enabled on select? (Ian) +- (From Ben's e-mail) We are storing persistent objects incorrectly. They should be + stored only as OIDs, and we should have a separate OID->class table. This way + change-class can be handled correctly (Ian) + +Performance: +- Metering and understanding locking issues. Large transactions seem + to use a lot of locks. In general understanding how to use Sleepycat + efficiently seems like a good thing. (Both) +- Add dependency information into secondary index callback functions so that + we can more easily compute which indices need to be updated to avoid the + global remove/add in order to maintain consistency (Ian) +- Reclaim table storage on index drop (Ian) +- Higher performance fix for allegro unicode serialization workaround than + my current one (Ian) + +Indexing features: +- Add a class-indexing class option to the metaclass so we can maintain class instances + index without any secondary indices or indexed slots (Ian) +- on class change, new slots should have their initform values pushed + into the slot value as if the slot was being created the first time + (currently this doesn't happen) (Ian) + +Bugs: +- anything else reported against 0.5.0/0.6.0 + +0.6.2 - New operating modes + - simple object query language (Ian - orthogonal, on main branch) + - integrate support for your in-memory database (on a separate branch) + - repository browser (Ian - orthogonal, on main branch) + (a simple REPL tool to see what classes are in a repository and + what state they're in...useful for long-lived repositories) + +0.6.3 - Query expansion + - Add needed support (if any) for persistent graph structures & +queries (Ian on a branch) + + + + + + + Feb. 4, 2006
As of 0.5.0, we have seem to have a stable suite on