[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