[elephant-cvs] CVS update: elephant/src/collections.lisp

blee at common-lisp.net blee at common-lisp.net
Fri Aug 27 17:32:33 UTC 2004


Update of /project/elephant/cvsroot/elephant/src
In directory common-lisp.net:/tmp/cvs-serv13609/src

Modified Files:
	collections.lisp 
Log Message:
license, name changes

Date: Fri Aug 27 10:32:32 2004
Author: blee

Index: elephant/src/collections.lisp
diff -u elephant/src/collections.lisp:1.2 elephant/src/collections.lisp:1.3
--- elephant/src/collections.lisp:1.2	Thu Aug 26 19:58:28 2004
+++ elephant/src/collections.lisp	Fri Aug 27 10:32:32 2004
@@ -1,15 +1,53 @@
+;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+;;;
+;;; collections.lisp -- view Berkeley DBs as Lisp collections
+;;; 
+;;; Initial version 8/26/2004 by Ben Lee
+;;; <blee at common-lisp.net>
+;;; 
+;;; part of
+;;;
+;;; Elephant: an object-oriented database for Common Lisp
+;;;
+;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee
+;;; <ablumberg at common-lisp.net> <blee at common-lisp.net>
+;;;
+;;; 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
+;;;
+
 (in-package "ELEPHANT")
 
 ;;; collection types
 ;;; abstract hash-like collections
 ;;; equal hashing (except probably for array, hashe, instance keys!)
-(defclass collection (persistent) ())
+(defclass persistent-collection (persistent) ())
 
 (defgeneric get-value (key ht &rest args))
 (defgeneric remove-kv (key ht &rest args))
 
 ;;; btree access
-(defclass btree (collection) ())
+(defclass btree (persistent-collection) ())
 
 (defmethod get-value (key (ht btree) &rest args)
   (declare (ignore args))
@@ -17,9 +55,10 @@
   (let ((key-length (serialize key *key-buf*)))
     (handler-case 
 	(values
-	 (deserialize (db-get-key-buffered (db *store-controller*) 
-					   (buffer-stream-buffer *key-buf*)
-					   key-length))
+	 (deserialize (db-get-key-buffered 
+		       (controller-db *store-controller*) 
+		       (buffer-stream-buffer *key-buf*)
+		       key-length))
 	 t)
       (db-error (err)
 	(if (= (db-error-errno err) DB_NOTFOUND)
@@ -34,7 +73,7 @@
   (buffer-write-int (oid ht) *key-buf*)
   (let ((key-length (serialize key *key-buf*))
 	(val-length (serialize value *out-buf*)))
-    (db-put-buffered (db *store-controller*) 
+    (db-put-buffered (controller-db *store-controller*) 
 		     (buffer-stream-buffer *key-buf*) key-length
 		     (buffer-stream-buffer *out-buf*) val-length
 		     :transaction transaction
@@ -47,7 +86,7 @@
   (declare (ignore args))
   (buffer-write-int (oid ht) *key-buf*)
   (let ((key-length (serialize key *key-buf*)))
-    (db-delete-buffered (db *store-controller*) 
+    (db-delete-buffered (controller-db *store-controller*) 
 			(buffer-stream-buffer *key-buf*) key-length
 			:transaction transaction
 			:auto-commit auto-commit)))





More information about the Elephant-cvs mailing list