[elephant-cvs] CVS elephant

ieslick ieslick at common-lisp.net
Wed Feb 22 21:03:47 UTC 2006


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

Modified Files:
	TODO config.lisp 
Log Message:

Quick fix for config.lisp not having a package designator.  Also my tweaks
to fix a BDB bug, adding transacctions to btree writes for increased safety
and various tweaks I made trying to fix the slot-boundp bug in indexing-redef-class



--- /project/elephant/cvsroot/elephant/TODO	2006/02/22 04:40:57	1.16
+++ /project/elephant/cvsroot/elephant/TODO	2006/02/22 21:03:47	1.17
@@ -5,8 +5,9 @@
 Upcoming release ideas.
 
 0.6.0 - Adding default class/slot indexing
-- Documentation update (Robert)
+- Resolve stubbed out slot-boundp bug in indexing-reconnect-db test (Ian)
 - Finish CLSQL backend debug (Robert)
+- Documentation update (Robert)
 
 0.6.1 - performance, safety and portability
 
@@ -14,25 +15,37 @@
 - Make elephant thread bound variables dynamic and modifiable by backends
 - Verify that operations such as indexing are thread safe
 
-Stability:
+Stability
+---------
+- Review all the NOTE comments in the code
+- Remove build gensym warnings in sleepycat
+- Port elephant to closer-to-MOP to make it easier to support additional lisps (Both)
+- (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) ???
+- Delete persistent slot values from the slot store with remove-kv to ensure that
+  there's no data left lying around if you define then redefine a class and add
+  back a persistent slot name that you thought was deleted and it gets the old
+  value
+
+Stores: 
 - Think about dynamic vs. object based store & transaction resolution?
   - Error checking when mixed 
   - Current store specific *current-transaction* stack
-- Throw condition when store spec is invalid, etc
 - Think through default vs. explicit store referencing all over the APIs (Both)
+- Throw condition when store spec is invalid, etc
+
+Transactionalism:
 - Cleaner failure modes if operations are performed without repository or without
   transaction or auto-commit (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)
+- Trace all paths to db-put or db-delete and ensure that there is a check or a 
+  default with-transaction around the primitive components - write a document 
+  clarifying transaction design & assumptions in the backend]  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)
-- Remove build gensym warnings
-- Port elephant to closer-to-MOP to make it easier to support additional lisps (Both)
-- (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
@@ -58,6 +71,7 @@
 0.6.3 - Query & indexing expansion
   - simple object query language (Ian - orthogonal, on main branch)
   - Add needed support (if any) for persistent graph structures & queries (Ian on a branch)
+  - A wrapper around migration that emulates a stop-and-copy GC
 
 0.6.4 - Compliance & Documentation
   - Update to support BDB 4.4
@@ -92,8 +106,7 @@
       - NoSynch - allow transactions to be lost on failure but maintains consistency instead of performance
 
 0.8 - Lisp Backend?
-
-
+  - A native BTree implementation in CommonLisp (prototype on Allegro's BTree implementation for ACache)
 
 
 Feb. 4, 2006
--- /project/elephant/cvsroot/elephant/config.lisp	2006/02/22 20:18:51	1.1
+++ /project/elephant/cvsroot/elephant/config.lisp	2006/02/22 21:03:47	1.2
@@ -1,3 +1,6 @@
+
+(in-package :elephant)
+
 ;;  CLSQL BACKEND
 ;;  Make sure the libraries that CLSQL needs for a particular system
 ;;  are pointed to by these libraries.




More information about the Elephant-cvs mailing list