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