[elephant-cvs] CVS elephant

ieslick ieslick at common-lisp.net
Sun Feb 19 04:52:58 UTC 2006


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

Modified Files:
	Makefile TODO ele-bdb.asd ele-clsql.asd ele-sqlite3.asd 
	elephant-tests.asd elephant.asd 
Log Message:
See elephant-devel mail for changes...and take a big, deep breath...

--- /project/elephant/cvsroot/elephant/Makefile	2006/01/29 01:08:31	1.8
+++ /project/elephant/cvsroot/elephant/Makefile	2006/02/19 04:52:58	1.9
@@ -32,10 +32,10 @@
 
 all: libsleepycat.$(EXT) libmemutil.$(EXT)
 
-libmemutil.$(EXT): src/libmemutil.c
+libmemutil.$(EXT): src/memutil/libmemutil.c
 	gcc $(SHARED) -Wall  -fPIC -O3 -o $@ $< -lm
 
-libsleepycat.$(EXT): src/libsleepycat.c 
+libsleepycat.$(EXT): src/db-bdb/libsleepycat.c 
 	gcc $(SHARED) -Wall -L$(DBLIBDIR)  -I$(DBINCDIR) -fPIC -O3 -o $@ $< -ldb -lm 
 
 
--- /project/elephant/cvsroot/elephant/TODO	2006/02/14 15:31:09	1.12
+++ /project/elephant/cvsroot/elephant/TODO	2006/02/19 04:52:58	1.13
@@ -7,26 +7,26 @@
 0.6.0 - Adding default class/slot indexing
 - Finish indexing tests (Ian)
 - Documentation update (Robert)
+* Add clsql like support for building .so/.dylib from asdf loader on most systems
+* Make elephant thread bound variables dynamic and modifiable by backends
+* Finish migration port and tests
+- 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
 
 0.6.1 - performance, safety and portability
 
 Stability:
-- Add clsql like support for building .so/.dylib from asdf loader on most systems
-- Cleanup multi-repository operation (ensure that conflicts between an object's 
-  registry and *store-controller* does not leed to lockup, especially with BDB (Both)
 - Think through default vs. explicit store referencing all over the APIs (Both)
 - 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
+- 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)
-- Fix backend dependency problems (missing functions with-transaction-sql, etc)
-  caused by not having clsql loaded.  Backends should not cause such failures
-  and should use asdf to load their deps when the backends are instantiated; much
-  like clsql does now
+  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
@@ -38,8 +38,6 @@
   to use a lot of locks.  In general understanding how to use Sleepycat
   efficiently seems like a good thing. (From Ben)
 - Reclaim table storage on index drop (Ian)
-- Higher performance fix for allegro unicode serialization workaround than
-  my current one (Ian)
 - Add dependency information into secondary index callback functions so that
   we can more easily compute which indices need to be updated to avoid the
   global remove/add in order to maintain consistency (Ian)
--- /project/elephant/cvsroot/elephant/ele-bdb.asd	2006/02/15 01:54:07	1.5
+++ /project/elephant/cvsroot/elephant/ele-bdb.asd	2006/02/19 04:52:58	1.6
@@ -1,10 +1,9 @@
 ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
 ;;;
-;;; ele-clsql.asd -- ASDF system definition for 
-;;; a Berkeley-DB based back-end for Elephant
+;;; elephant.asd -- ASDF system definition for elephant
 ;;; 
-;;; Initial version 10/12/2005 by Robert L. Read
-;;; <read at robertlread.net>
+;;; Initial version 8/26/2004 by Ben Lee
+;;; <blee at common-lisp.net>
 ;;; 
 ;;; part of
 ;;;
@@ -13,46 +12,36 @@
 ;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee
 ;;; <ablumberg at common-lisp.net> <blee at common-lisp.net>
 ;;;
-;;; This program is released under the following license
-;;; ("GPL").  For differenct licensing terms, contact the
-;;; copyright holders.
-;;;
-;;; This program is free software; you can redistribute it
-;;; and/or modify it under the terms of the GNU General
-;;; Public License as published by the Free Software
-;;; Foundation; either version 2 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be
-;;; useful, but WITHOUT ANY WARRANTY; without even the
-;;; implied warranty of MERCHANTABILITY or FITNESS FOR A
-;;; PARTICULAR PURPOSE. See the GNU General Public License
-;;; for more details.
-;;;
-;;; The GNU General Public License can be found in the file
-;;; LICENSE which should have been distributed with this
-;;; code.  It can also be found at
-;;;
-;;; http://www.opensource.org/licenses/gpl-license.php
-;;;
-;;; You should have received a copy of the GNU General
-;;; Public License along with this program; if not, write
-;;; to the Free Software Foundation, Inc., 59 Temple Place,
-;;; Suite 330, Boston, MA 02111-1307 USA
-;;;
+;;; Elephant users are granted the rights to distribute and use this software
+;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+
+(in-package :cl-user)
+
+(defpackage ele-bdb-system
+  (:use :cl :asdf))
+
+(in-package :ele-bdb-system)
 
 (defsystem ele-bdb
-  :name "ele-bdb"
-  :author "Robert L. Read <rread at common-lisp.net>"
-  :version "0.1"
-  :maintainer "Robert L. Read <rread at common-lisp.net>"
+  :name "elephant"
+  :author "Ben Lee <blee at common-lisp.net>"
+  :version "0.6.0"
+  :maintainer "Ben Lee <blee at common-lisp.net>"
   :licence "LLGPL"
-  :description "Berkeley-DB based Object respository for Common Lisp"
-  :long-description "Including this loads the Berkeley-DB code; you may have to edit the pathname!"
+  :description "Object database for Common Lisp"
+  :long-description "An object-oriented database based on Berkeley DB, for CMUCL/SBCL, OpenMCL, and Allegro."
   :components
   ((:module :src
 	    :components
-	    ((:file "bdb-enable")
-	)
-	    :serial t))
-  :depends-on (:elephant ))
+	    ((:module :db-bdb
+		      :components
+		      ((:file "package")
+		       (:file "sleepycat")
+		       (:file "bdb-controller")
+		       (:file "bdb-transactions")
+		       (:file "bdb-collections"))
+		      :serial t))))
+  :depends-on (:uffi :elephant))
+
+
--- /project/elephant/cvsroot/elephant/ele-clsql.asd	2006/02/04 22:25:09	1.3
+++ /project/elephant/cvsroot/elephant/ele-clsql.asd	2006/02/19 04:52:58	1.4
@@ -1,10 +1,9 @@
 ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
 ;;;
-;;; ele-clsql.asd -- ASDF system definition for 
-;;; a CL-SQL based back-end for Elephant
+;;; elephant.asd -- ASDF system definition for elephant
 ;;; 
-;;; Initial version 10/12/2005 by Robert L. Read
-;;; <read at robertlread.net>
+;;; Initial version 8/26/2004 by Ben Lee
+;;; <blee at common-lisp.net>
 ;;; 
 ;;; part of
 ;;;
@@ -13,48 +12,26 @@
 ;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee
 ;;; <ablumberg at common-lisp.net> <blee at common-lisp.net>
 ;;;
-;;; This program is released under the following license
-;;; ("GPL").  For differenct licensing terms, contact the
-;;; copyright holders.
-;;;
-;;; This program is free software; you can redistribute it
-;;; and/or modify it under the terms of the GNU General
-;;; Public License as published by the Free Software
-;;; Foundation; either version 2 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be
-;;; useful, but WITHOUT ANY WARRANTY; without even the
-;;; implied warranty of MERCHANTABILITY or FITNESS FOR A
-;;; PARTICULAR PURPOSE. See the GNU General Public License
-;;; for more details.
-;;;
-;;; The GNU General Public License can be found in the file
-;;; LICENSE which should have been distributed with this
-;;; code.  It can also be found at
-;;;
-;;; http://www.opensource.org/licenses/gpl-license.php
-;;;
-;;; You should have received a copy of the GNU General
-;;; Public License along with this program; if not, write
-;;; to the Free Software Foundation, Inc., 59 Temple Place,
-;;; Suite 330, Boston, MA 02111-1307 USA
-;;;
+;;; Elephant users are granted the rights to distribute and use this software
+;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 
-(defsystem ele-clsql
-  :name "ele-clsql"
-  :author "Robert L. Read <read at robertlread.net>"
-  :version "0.1"
-  :maintainer "Robert L. Read <read at robertlread.net>"
+(defsystem ele-sql
+  :name "elephant"
+  :author "Ben Lee <blee at common-lisp.net>"
+  :version "0.6.0"
+  :maintainer "Ben Lee <blee at common-lisp.net>"
   :licence "LLGPL"
   :description "SQL-based Object respository for Common Lisp"
   :long-description "An experimental CL-SQL based implementation of Elephant"
-  
-  :components
   ((:module :src
 	    :components
-	    ((:file "sql-controller")
-        	(:file "sql-collections")
-	)
-	    :serial t))
+	    ((:module :db-clsql
+		      :components
+		      ((:file "sql-controller")
+		       (:file "sql-transactions")
+		       (:file "sql-collections"))
+		      :serial t))))
   :depends-on (:elephant :clsql :cl-base64))
+
+
--- /project/elephant/cvsroot/elephant/ele-sqlite3.asd	2006/02/15 01:54:07	1.4
+++ /project/elephant/cvsroot/elephant/ele-sqlite3.asd	2006/02/19 04:52:58	1.5
@@ -44,7 +44,7 @@
 (defsystem ele-sqlite3
   :name "ele-sqlite3"
   :author "Robert L. Read <read at robertlread.net>"
-  :version "0.1"
+  :version "0.6.0"
   :maintainer "Robert L. Read <read at robertlread.net>"
   :licence "GPL"
   :description "SQLite3 based Object respository for Common Lisp"
@@ -56,4 +56,4 @@
 	    (
 	)
 	    :serial t))
-  :depends-on (:ele-clsql :clsql-sqlite3))
+  :depends-on (:ele-sql :clsql-sqlite3))
--- /project/elephant/cvsroot/elephant/elephant-tests.asd	2006/02/07 23:23:50	1.5
+++ /project/elephant/cvsroot/elephant/elephant-tests.asd	2006/02/19 04:52:58	1.6
@@ -55,11 +55,25 @@
 	    :components
 	    ((:file "elephant-tests")
 	     (:file "testserializer")
-	     (:file "testsleepycat")
 	     (:file "mop-tests")
 	     (:file "testcollections")
 	     (:file "testindexing")
 	     (:file "testmigration")
 	     )
 	    :serial t)))
+
+(defsystem elephant-tests-bdb
+  :name "elephant"
+  :author "Ben Lee <blee at common-lisp.net>"
+  :version "0.1"
+  :maintainer "Ben Lee <blee at common-lisp.net>"
+  :licence "Lessor Lisp General Public License"
+  :description "Tests that only run under BDB"
+  
+  :depends-on (:elephant-tests)
+  :components
+  ((:module :tests
+	    :components
+	    ((:file "testsleepycat")))))
+
  
--- /project/elephant/cvsroot/elephant/elephant.asd	2006/02/07 23:23:50	1.12
+++ /project/elephant/cvsroot/elephant/elephant.asd	2006/02/19 04:52:58	1.13
@@ -12,64 +12,49 @@
 ;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee
 ;;; <ablumberg at common-lisp.net> <blee at common-lisp.net>
 ;;;
-;;; This program is released under the following license
-;;; ("GPL").  For differenct licensing terms, contact the
-;;; copyright holders.
-;;;
-;;; This program is free software; you can redistribute it
-;;; and/or modify it under the terms of the GNU General
-;;; Public License as published by the Free Software
-;;; Foundation; either version 2 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be
-;;; useful, but WITHOUT ANY WARRANTY; without even the
-;;; implied warranty of MERCHANTABILITY or FITNESS FOR A
-;;; PARTICULAR PURPOSE. See the GNU General Public License
-;;; for more details.
-;;;
-;;; The GNU General Public License can be found in the file
-;;; LICENSE which should have been distributed with this
-;;; code.  It can also be found at
-;;;
-;;; http://www.opensource.org/licenses/gpl-license.php
-;;;
-;;; You should have received a copy of the GNU General
-;;; Public License along with this program; if not, write
-;;; to the Free Software Foundation, Inc., 59 Temple Place,
-;;; Suite 330, Boston, MA 02111-1307 USA
-;;;
+;;; Elephant users are granted the rights to distribute and use this software
+;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+
+(in-package :cl-user)
+
+(defpackage elephant-system
+  (:use :cl :asdf))
+
+(in-package :elephant-system)
 
 (defsystem elephant
   :name "elephant"
   :author "Ben Lee <blee at common-lisp.net>"
-  :version "0.5.0"
+  :version "0.6.0"
   :maintainer "Ben Lee <blee at common-lisp.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."
-  
   :components
   ((:module :src
 	    :components
-	    ((:file "sleepycat")
-	     (:file "berkeley-db")
-	     (:file "elephant")
-	     (:file "utils")
-	     #+cmu
-	     (:file "cmu-mop-patches")
-	    #+openmcl
-	     (:file "openmcl-mop-patches")
-	     (:file "metaclasses") 
-	     (:file "classes") 
-	     (:file "controller")
-	     (:file "collections")
-	     (:file "serializer")
-	     (:file "index-utils")
-	     (:file "indexing"))
-	    #+openmcl
-	    (:file "openmcl-mop-patches")
-	    :serial t))
+	    ((:module memutil
+		      :components
+		      ((:file "memutil")))
+	     (:module elephant
+		      :components
+		      ((:file "elephant")
+		       (:file "variables")
+		       #+cmu (:file "cmu-mop-patches")
+		       #+openmcl (:file "openmcl-mop-patches")
+		       (:file "transactions")
+		       (:file "metaclasses")
+		       (:file "classes")
+		       (:file "serializer")
+		       (:file "cache")
+		       (:file "controller")
+		       (:file "collections")
+		       (:file "classindex-utils")
+		       (:file "classindex")
+		       (:file "migrate")
+		       (:file "backend"))
+		      :serial t
+		      :depends-on (memutil)))))
   :depends-on (:uffi))
 
-




More information about the Elephant-cvs mailing list