[Modeling-users] [Core] Release 0.8.5 / Important bug-fixes
Status: Abandoned
Brought to you by:
sbigaret
|
From: Sebastien B. <sbi...@us...> - 2003-02-10 23:35:48
|
Hi all,
Most of the changes included in this release are bug-fixes.
The most important one adresses a bug which was defeating the uniquing
principle of EditingContext when inheritance is involved ; this is
demonstrated in:
test_EditingContext_Global.test_05b_toOneFault_uniquing()
!!! Users using inheritance are strongly advised to upgrade their
copy, or they will certainly be bitten by this nasty bug. It
causes very strange behaviour, such as an updated object A being
modified when accessed from object B but left unmodified when
accessed from object C.
(Thank you SoaF for reporting this!)
Note: this bug is only triggered by a given sequence of events, when
different relationships point to different entities which are
parents/children.
Other changes are detailed in the changelog and are included at the
end of the message.
About the near future:
We are on our way to public v0.9, which has already been put in
production for more than 3 months now and is considered stable. V0.9
is still planned for the end of the week (it might be late a week,
though). One or two minor releases will probably be necessary before =
0.9.
Regards,
-- S=E9bastien.
------------------------------------------------------------------------
0.8.5 (2003/02/10)
-----
* EditingContext:
- added: exception ObjectNotRegisteredError
now raised by: deleteObject()
- added: allInsertedObjects(), allUpdatedObjects, allDeletedObjects=
()
see docstrings for details
- implemented: arrayFaultWithSourceGlobalID()
- UniquingTable: added support for ``root GlobalID'', and fixed
addObjectForGlobalID(), forgetObject(), forgetObjectForGlobalID(),
hasObject(). This fixes the following bug: when a relationship to
an entity having a parent entity was triggered, it was possible to
get a fault instead of the real object (when that object was
already set).
Cf. test_EditingContext_Global_Inheritance.test_05b_toOneFault_un=
iquing
for more detail
* Relationship.SimpleRelationship:
- validateValue(): validation of a value being a fault now
immediately succeeds and returns. We do not want to trigger faults
when validating the values, faults are considered okay wrt. the
validation logic.
- setMultiplicityUpperBound() now accepts '*' for -1 (unconstrained
toMany relationships)
* ObjectStoreCoordinator:
- fixed arrayFaultWithSourceGlobalID() which was not returning any
value
- Followed the change in the ObjectStore API: now implements
ownsObjects() instead of handlesObject().
- Misc: fixed a typo in saveChangesInEditingContext()/error
msg. when changes are rolled back"
Modeling/ObjectStoreCoordinator.py
* QualifierParser.qualifierWithQualifierFormat: now allows upper-case
for the first character in a key (e.g. "AGE =3D=3D NULL")
(see also test_Qualifier.test_07_qualifierWithQualifierFormat4)
* GlobalID: fixed KeyGlobalID.keyValues(): was returning the internal
dictionary, making it possible to inadvertently change its
read-only state.
* Entity: Added: (module) primaryKeyForGlobalID()
(class) primaryKeyForGlobalID() and primaryKeyForRo=
w()
+Some docstrings now uses utils.finalize_docstrings
* Adaptor: Added CannotSerializeException. adaptorWithName() now
includes the traceback in the message of exception
AdaptorImportError when an adaptor cannot be loaded'
* tests: fixed test_Model.py (could not run individually, missing imp=
ort)
------------------------------------------------------------------------
|