[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) ------------------------------------------------------------------------ |