[Modeling-users] Core & ZModeling v0.9pre4 released
Status: Abandoned
Brought to you by:
sbigaret
From: Sebastien B. <sbi...@us...> - 2003-03-14 10:52:39
|
Hi all, I've just released 0.9-pre-4, the second release candidate for 0.9. Both packages modeling-core and ZModeling are concerned; as usual the changelog is included at the end of the message. It contains fixes for bugs triggered by a basic use of nested EditingContext configuration, along with corrections made to the MySQL Adaptor Layer which is now fully functional (and supports TEXT :) A new Zope product is also introduced and documented, making it possible to get an EditingContext on a per-session basis: ZEditingContextSessioning. Last, a new chapter has been added to the User's Guide, ''Integration in an application'', which contains important informations on how the framework can be integrated in different software architecture (such as: in single- or multi-threaded environments, in pure-python apps or in app-servers like Zope). You'll also notice that the web-site has been reviewed and changed, thanks to Mario. I decided to make a second release candidate because there were quite a lot of bug-fixes checked-in after the last release; I thought it would be preferable to package them now and make an official release rather then waiting for 0.9 final. Before 0.9 final is released, some documentation still needs to be written and/or enhanced (projet's status, contributors). Enjoy! -- S=E9bastien. ------------------------------------------------------------------------ 0.9-pre-4 (2002/03/14) Second release candidate for 0.9 --------- * Documentation: - The web-site has been reviewed and re-organized, thanks Mario! - Added chapter ''Integration in an application'' to the User's Guide * EditingContext + saveChangesInEditingContext(): now locks 'self' before proceeding, so that two nested \class{EditingContext} which have the same parent and are managed by two different threads can concurrently save their changes to their parent without explictly locking it. (this is logical since a EC is supposed to perform any of its operations safely in a multi-threaded environment --given that it's not shared between threads, obviously) + Fixed objectsWithFetchSpecification(): when a nested EC asks for objects, the result set now correctly includes objects that are inserted in its parent (or grand-parent, etc.) and objects that are marked as deleted in the parent are excluded. See also: tests.test_EditingContext_ParentChild, test_10_child_gets_newly_inserted_objects() and test_11_child_doesnt_get_deleted_objects() * Added Modeling.utilities.EditingContextSessioning * Changed _invalidatesObjectsWhenFinalized to invalidatesObjectsWhenFinalized, and made it a class member. Added documentation on this, see the User's Guide, section ''Discarding changes: details on the destruction process of an EditingContext'' (doc/UserGuide/ManipulatingGraphOfObjects.tex) * Added 'TEXT' as a valid sql datatype for the MySQL adaptor * Proposed a fix for bug #614261: because of mysql having a strict syntax for sql statements containg JOINs, the default statement produced by SQLExpression led to a syntax error as soon as the supplied qualifier contained a keypath referencing two or more entities, such as in 'pygmalion.books.title'. The bug-item is not closed, waiting for people using the mysql adaptor to confirm it behaves as expected. See also: test_EditingContext_Global.test_14_qualifierWithNullValue= () & test_11_allQualifierOperators() * Bug #699046: when an invalid sql data type is encountered at runtime, the message is now much more informative than it used to be (i.e. it now indicates clearly where the error comes from) cf. SQLExpression v1.14 * Bug #699272: Fixed DBChannel.selectCountObjectsWithFetchSpecification: was not closing the underlying adaptorChannel when finished Related tests added: in test_EditingContext_Global.py, test_01c_objectsWithFetchSpecification_closes_adaptorChannel() test_13b_objectsCountWithFetchSpecification_closes_channel() Note: this made a bug triggered in psycopg when two threads are using the same cursor more likely to happen (when used in Zope e.g.) See discussion at http://lists.initd.org/pipermail/psycopg/2003-March/001885.ht= ml ------------------------------------------------------------------------ |