Update of /project/elephant/cvsroot/elephant In directory clnet:/tmp/cvs-serv4428
Modified Files: TODO ele-bdb.asd elephant.asd Log Message: Added missing file; Henrik's fixes to ele-bdb and clsql cursor-pset
--- /project/elephant/cvsroot/elephant/TODO 2006/12/16 19:35:09 1.31 +++ /project/elephant/cvsroot/elephant/TODO 2007/01/19 21:03:29 1.32 @@ -14,7 +14,6 @@ - flexible handling of 64-bit fixnums
Stability: -- Remove build gensym warnings in sleepycat.lisp - 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 @@ -61,6 +60,8 @@ parameter that determines if this is the default?
Performance: +- Allow dump of fast-symbol tables for low-level reconstruction in case of + catastrophic errors - Metering and understanding locking issues. Large transactions seem to use a lot of locks. In general understanding how to use Berkeley DB efficiently seems like a good thing. (From Ben) @@ -85,6 +86,7 @@
0.6.1 - Features COMPLETED to date ---------------------------------- +January 2006 checkin x Improved optimization options to be more user controlled (Pierre Thierry) x Implement backend support for symbol-table protocol x Speed up symbol storage and reference using symbol id's @@ -94,7 +96,10 @@ x New build interface; all-lisp compilation (sans win32) x Simplify user-specific configuration parameters using config.sexp and my-config.sexp x Make sure to ensure thread safety in buffer-stream allocation! +x Investigated gensym warnings in berkeley-db.lisp (caused by an FFI macro, no harm in it) +x Remove warnings in libberkeley-db.c
+Prior to December 2006 x BDB overwrite of values makes DB grow [So far I can only find that it grows on the 2nd write, but not after that...artifact of page allocation or caching of memory pools?] --- /project/elephant/cvsroot/elephant/ele-bdb.asd 2006/12/16 19:35:09 1.13 +++ /project/elephant/cvsroot/elephant/ele-bdb.asd 2007/01/19 21:03:29 1.14 @@ -31,11 +31,16 @@
(defun get-config-option (option component) (unless *bdb-config* - (with-open-file (config (make-pathname :defaults (asdf:component-pathname - (asdf:component-system component)) - :name "my-config" - :type "sexp")) - (setf *bdb-config* (read config)))) + (let ((filespec (make-pathname :defaults (asdf:component-pathname + +(asdf:component-system component)) + :name "my-config" + :type "sexp"))) + (unless (probe-file filespec) + (error "Missing file. Copy config.sexp in elephant root +directory to my-config.sexp and edit it appropriately.")) + (with-open-file (config filespec) + (setf *bdb-config* (read config))))) (cdr (assoc option *bdb-config*)))
;; --- /project/elephant/cvsroot/elephant/elephant.asd 2006/12/16 19:35:09 1.21 +++ /project/elephant/cvsroot/elephant/elephant.asd 2007/01/19 21:03:29 1.22 @@ -130,8 +130,8 @@ (defsystem elephant :name "elephant" :author "Ben Lee blee@common-lisp.net" - :version "0.6.0" - :maintainer "Ben Lee blee@common-lisp.net" + :version "0.6.1" + :maintainer "Robert Read read@robertlread.net" :licence "LLGPL" :description "Object database for Common Lisp" :long-description "An object-oriented database based on Berkeley DB, for CMUCL/SBCL, OpenMCL, and Allegro."