Update of /project/elephant/cvsroot/elephant In directory clnet:/tmp/cvs-serv20360
Modified Files: TODO Removed Files: ele-acache.asd Log Message: Enable use of %bignum-ref under sbcl; update TODO list and roadmap
--- /project/elephant/cvsroot/elephant/TODO 2007/02/04 10:08:27 1.43 +++ /project/elephant/cvsroot/elephant/TODO 2007/02/05 00:32:27 1.44 @@ -1,5 +1,5 @@
-Last updated: January 20, 2007 +Last updated: February 4, 2007
Ongoing release plan notes:
@@ -7,14 +7,15 @@ --------------------------------------------
Active tasks: -- Resolve duplicate sorting guarantee in btree interface; currently supported - by BDB but not SQL and it is not tested in the regression suite +~ Resolve duplicate sorting guarantee in btree interface; currently supported + by BDB but not SQL and it is not tested in the regression suite (Robert) - Trace all paths to db-put or db-delete and ensure that there is a check or a default ensure-transaction around the primitive components - write a document clarifying transaction design & assumptions in the backend] - Fix *dbconnection-spec* to support multiple controllers for multiple threads for CLSQL backend - Validate migration 0.6.0->0.6.1 +- Improve SQL serializer performance (Robert)
BDB Features: - Determine how to detect deadlock conditions as an optional run-safe mode? @@ -141,13 +142,13 @@ - 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) -- Improve SQL serializer performance (Robert/Ian)
Design: - - Use SWIG and CFFI to better track changes in defconstant? + - 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 + metaclasses.lisp and classes.lisp protocols (no love on first attempt) + (log these in Track)
Features: - Persistent variables (abstraction that allows compound lisp objects at the cost of @@ -166,12 +167,10 @@ - A guide to performance - An overview of licensing issues...
-0.7.0: Fast In-Memory Database (Not backwards compatible) --------------------------------------------------- +0.7.0: Native Lisp Backend (beta), Fast In-Memory Operations +------------------------------------------------------------ - Full support for DCM or integration of DCM functionality - Integrate prevalence-like in-memory database system for single image, multiple-thread operation - - Fast serializer port w/ upgrade strategy and prevalence like storage solution - - Further improve SQL 64-bit serialization performance (if possible) - (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. This also non-trivially compresses storage @@ -194,25 +193,22 @@ -------------------------------------------------- - More work on testing, examples and documentation - Intent is for this to be a major, long-term supported release prior - to work on the new backend + to work on the new backend (i.e. patches against this release for + bugs rather than only available in latest development tree)
-0.8.0 - Native Backend +0.8.0 - Supporting Tools Release -------------------------------------------------- - - A native lisp backend controller (Ian) - - Native persistent hashes (easy for BDB; can do on SQL backends?) + - Add special support (if any) for persistent graph structures & queries + (ala AllegroCache) - Support for cheap persistent sets (medium? can do on SQL?) - -0.9.0 - Supporting Tools Release --------------------------------------------------- + - Native persistent hashes (easy for BDB; can do on SQL backends?) - Support a simple object query language over the database - - Add special support (if any) for persistent graph structures & queries (ala AllegroCache) - Repository browser - a simple REPL tool like the Slime inspector to see what classes are in a repository and what state they're in...useful for long-lived repositories or if you've forgotten a variable name
-1.0 - Production release (1st fully supported version since 0.7.1) --------------------------------------------------- - - Finalize supported platforms (LispWorks? OpenMCL?) +1.0 - Final Production release (1st long-term version since 0.7.1) +------------------------------------------------------------------------ - Significant work on test cases & testing framework - Final pass of performance enhancements - Invite community review and testing