[bknr-cvs] r2503 - branches/trunk-reorg/bknr/datastore/src/data
hhubner at common-lisp.net
hhubner at common-lisp.net
Fri Feb 15 13:41:20 UTC 2008
Author: hhubner
Date: Fri Feb 15 08:41:20 2008
New Revision: 2503
Modified:
branches/trunk-reorg/bknr/datastore/src/data/object.lisp
Log:
Rename and document some things.
Modified: branches/trunk-reorg/bknr/datastore/src/data/object.lisp
==============================================================================
--- branches/trunk-reorg/bknr/datastore/src/data/object.lisp (original)
+++ branches/trunk-reorg/bknr/datastore/src/data/object.lisp Fri Feb 15 08:41:20 2008
@@ -5,8 +5,9 @@
(cl-interpol:enable-interpol-syntax)
(defclass store-object-subsystem ()
- ((id-counter :initform 0
- :accessor id-counter)))
+ ((next-object-id :initform 0
+ :accessor next-object-id
+ :documentation "Next object ID to assign to a new object")))
(defun store-object-subsystem ()
(let ((subsystem (find-if (lambda (subsystem)
@@ -163,17 +164,16 @@
(anonymous-transaction-transactions *current-transaction*)))
(call-next-method)))
-(defmethod initialize-instance :after
- ((object store-object) &key id &allow-other-keys)
+(defmethod initialize-instance :after ((object store-object) &key id &allow-other-keys)
(let ((subsystem (store-object-subsystem)))
(cond (id
;; during restore, use the given ID
- (when (>= id (id-counter subsystem))
- (setf (id-counter subsystem) (1+ id))))
+ (when (>= id (next-object-id subsystem))
+ (setf (next-object-id subsystem) (1+ id))))
(t
;; normal transaction: assign a new ID
- (setf id (id-counter subsystem))
- (incf (id-counter subsystem))
+ (setf id (next-object-id subsystem))
+ (incf (next-object-id subsystem))
(setf (slot-value object 'id) id)))))
(defmethod print-object ((object store-object) stream)
@@ -476,9 +476,9 @@
id slot-name (type-of container) (store-object-id container))
(warn "Reference to inexistent object with id ~A from unnamed container, returning NIL." id))
- ;; noch die ID hochzaehlen wenn notwendig
- (when (>= id (id-counter (store-object-subsystem)))
- (setf (id-counter (store-object-subsystem)) (1+ id)))
+ ;; Possibly determine new "current object id"
+ (when (>= id (next-object-id (store-object-subsystem)))
+ (setf (next-object-id (store-object-subsystem)) (1+ id)))
nil)
(t (error "Reference to inexistent object with id ~A from slot ~A of object ~A with ID ~A." id slot-name (type-of container)
@@ -512,7 +512,7 @@
;;; check on first instatiation of a class?
(dolist (class-name (cons 'store-object (all-store-classes)))
(clear-class-indices (find-class class-name)))
- (setf (id-counter subsystem) 0)
+ (setf (next-object-id subsystem) 0)
(when (probe-file snapshot)
(format *trace-output* "loading snapshot file ~A~%" snapshot)
(with-open-file (s snapshot
@@ -586,7 +586,7 @@
(execute (make-instance 'transaction
:function-symbol 'tx-make-object
:args (append (list class-name
- :id (id-counter (store-object-subsystem)))
+ :id (next-object-id (store-object-subsystem)))
initargs))))
(defun tx-delete-object (id)
More information about the Bknr-cvs
mailing list