[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