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.