Update of /project/elephant/cvsroot/elephant In directory clnet:/tmp/cvs-serv13092
Modified Files: TODO ele-bdb.asd elephant.asd Log Message: Up and limping; 0.6.1 working HEAD is in good shape again. Fails four tests (all cursor ranges). Object ID's are turned off for now - they are a user configuration option
--- /project/elephant/cvsroot/elephant/TODO 2007/01/20 22:12:17 1.33 +++ /project/elephant/cvsroot/elephant/TODO 2007/01/21 21:20:03 1.34 @@ -1,5 +1,5 @@
-Last updated: November 21, 2006 +Last updated: January 20, 2007
Ongoing release plan notes:
@@ -34,7 +34,10 @@
Multi-threading operation: - Make elephant threads appropriately bind dynamic variables? -x Verify that operations such as indexing are thread safe +- Thread safety for all global vars +- Thread safe API option for user-managed store-controller? +- Thread safe API for transactions +- Update to require BDB 4.5?
BDB Features: ? Determine how to detect deadlock conditions as an optional run-safe mode? @@ -77,8 +80,8 @@
Documentation: - Add notes about with-transaction usage (abort & commit behavior on exit) -- Add notes about optimize-storage - Add notes about fast-symbols +- Add notes about optimize-storage - Add notes about new BDB 4.4 *auto-commit* behavior. Default for entire store-controller, will auto create a transaction if none is active if open with :auto-commit t or will never auto-commit (regardless of operator flags) if it is not. Make sure open-store @@ -86,16 +89,21 @@
0.6.1 - Features COMPLETED to date ---------------------------------- -January 2006 checkin -x Improved optimization options to be more user controlled (Pierre Thierry) + +January 2006 checkins; major features +x Modularize serializers for easy upgrade x Implement backend support for symbol-table protocol x Speed up symbol storage and reference using symbol id's -x Ensure serialization is thread-safe and reasonably efficient -x MCL 1.1 unicode support; rationalize other lisp support for unicode -x Modularize serializers for easy upgrade -x New build interface; all-lisp compilation (sans win32) +x Ensure serialization is thread-safe and reasonably efficient +x MCL 1.1 unicode support; clean up other lisp support for unicode 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 Ensure thread safety in buffer-stream allocation! + +January 2006 checkins; minor fixes +x New build interface; all-lisp compilation (sans win32), (help from elephant-devel) +x Verify that operations such as indexing are thread safe +x Diffs for lisp-controlled DB checkpointing (by Gabor Melis) +x Improved optimization options to be more user controlled (Pierre Thierry) x Investigated gensym warnings in berkeley-db.lisp (caused by an FFI macro, no harm in it) x Remove warnings in libberkeley-db.c
--- /project/elephant/cvsroot/elephant/ele-bdb.asd 2007/01/19 21:03:29 1.14 +++ /project/elephant/cvsroot/elephant/ele-bdb.asd 2007/01/21 21:20:03 1.15 @@ -24,26 +24,6 @@ (in-package :ele-bdb-system)
;; -;; User parameters (bdb root and pthread, if necessary) -;; - -(defparameter *bdb-config* nil) - -(defun get-config-option (option component) - (unless *bdb-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*))) - -;; ;; Compile bdb lib and load libraries ;;
--- /project/elephant/cvsroot/elephant/elephant.asd 2007/01/19 21:03:29 1.22 +++ /project/elephant/cvsroot/elephant/elephant.asd 2007/01/21 21:20:03 1.23 @@ -20,7 +20,7 @@
(defpackage elephant-system (:use :cl :asdf) - (:export :elephant-c-source :compiler-options :foreign-libraries-to-load-first)) + (:export :elephant-c-source :compiler-options :foreign-libraries-to-load-first :get-config-option))
(in-package :elephant-system)
@@ -51,6 +51,22 @@ (apply (find-symbol (symbol-name fn) (symbol-name :uffi)) args))
;; +;; User parameters (bdb root and pthread, if necessary) +;; + +(defparameter *elephant-user-config* nil) + +(defun get-config-option (option component) + (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) + (cdr (assoc option (read config)))))) + +;; ;; Basic utilities for elephant c files ;;
@@ -153,10 +169,10 @@ (:file "transactions") (:file "metaclasses") (:file "classes") + (:file "serializer") (:file "serializer1") ;; 0.6.0 db's (:file "serializer2") ;; 0.6.1 db's (:file "unicode2") - (:file "serializer") (:file "cache") (:file "controller") (:file "collections")