|
Revision 3942, 1.4 kB
(checked in by hans, 2 months ago)
|
Merge from anon-transaction-fixes-2 branch. This changeset removes
make-object and initialize-persistent-instance, makes the allocation
of object IDs simpler and more safe and removes several relicts from
previous refactoring iterations. Also, the store tests have been
extended significantly to test pathological cases and create objects
from multiple threads.
|
| Line | |
|---|
| 1 |
(in-package :bknr.datastore) |
|---|
| 2 |
|
|---|
| 3 |
(defclass persistent-xml-class (bknr.impex::xml-class |
|---|
| 4 |
bknr.datastore::persistent-class) |
|---|
| 5 |
()) |
|---|
| 6 |
|
|---|
| 7 |
(defmethod validate-superclass ((sub persistent-xml-class) (super bknr.impex::xml-class)) |
|---|
| 8 |
t) |
|---|
| 9 |
|
|---|
| 10 |
(defmethod validate-superclass ((sub persistent-xml-class) |
|---|
| 11 |
(super bknr.datastore::persistent-class)) |
|---|
| 12 |
t) |
|---|
| 13 |
|
|---|
| 14 |
(defclass persistent-xml-direct-slot-definition |
|---|
| 15 |
(bknr.impex::xml-direct-slot-definition |
|---|
| 16 |
bknr.datastore::persistent-direct-slot-definition) |
|---|
| 17 |
()) |
|---|
| 18 |
|
|---|
| 19 |
(defclass persistent-xml-effective-slot-definition |
|---|
| 20 |
(bknr.impex::xml-effective-slot-definition |
|---|
| 21 |
bknr.datastore::persistent-effective-slot-definition) |
|---|
| 22 |
()) |
|---|
| 23 |
|
|---|
| 24 |
(defmethod direct-slot-definition-class ((class persistent-xml-class) &key &allow-other-keys) |
|---|
| 25 |
'persistent-xml-direct-slot-definition) |
|---|
| 26 |
|
|---|
| 27 |
(defmethod effective-slot-definition-class ((class persistent-xml-class) |
|---|
| 28 |
&key &allow-other-keys) |
|---|
| 29 |
'persistent-xml-effective-slot-definition) |
|---|
| 30 |
|
|---|
| 31 |
(defclass persistent-xml-class-importer (bknr.impex:xml-class-importer) |
|---|
| 32 |
()) |
|---|
| 33 |
|
|---|
| 34 |
(defmethod bknr.impex::create-instance ((importer persistent-xml-class-importer) class-name &rest initforms) |
|---|
| 35 |
(apply #'make-instance class-name initforms)) |
|---|
| 36 |
|
|---|
| 37 |
(defmethod bknr.impex::set-slot-value ((handler persistent-xml-class-importer) object slot-name value) |
|---|
| 38 |
(change-slot-values object slot-name value)) |
|---|
| 39 |
|
|---|
| 40 |
(export '(persistent-xml-class)) |
|---|