Storm 0.12

Milestone information

Project:
Storm
Series:
trunk
Version:
0.12
Released:
 
Registrant:
Gustavo Niemeyer
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon storm-0.12-py2.5.egg (md5) Egg for Python 2.5 1,131
last downloaded 69 weeks ago
download icon storm-0.12-py2.4.egg (md5) Egg for Python 2.4 965
last downloaded 68 weeks ago
download icon storm-0.12.tar.bz2 (md5) Tarball 1,275
last downloaded 63 weeks ago
Total downloads: 3,371

Release notes 

Improvements
------------
 - The Connection will reconnect automatically when connection
   drops are detected and a rollback is performed. As a result,
   the Store should handle reconnections in a seamless way in
   most circumstances (#94986, by James Henstridge). This is
   supported in the MySQL and PostgreSQL backends.
 - Store.flush() will not load values inserted in the database.
   Instead, undefined variables are set to AutoReload, and resolved
   once first accessed. This won't be noticeable in normal usage,
   but will boost the performance of inserts.
 - Support in the postgres backend to use the RETURNING extension of
   the INSERT statement to retrieve the primary key on inserts for
   object identity mapping (PostgreSQL >= 8.2 only)
 - Introduced a cache mechanism that keeps the N last retrieved objects
   in memory to optimize cases where the same object is retrieved
   often while no strong references are kept elsewhere. Implemented by
   Bernd Dorn, from Lovely Systems.
 - Improved support for TimeDelta properties on all backends. Many
   more formats are accepted now, and some issues were fixed.

Bug fixes
---------
 - TimeDelta was added to storm.locals.
 - Fixed TimeDelta support in SQLite, MySQL, and PostgreSQL,
   and enabled base test for all backends to ensure that it
   continues to work.
 - Schema names are accepted in __storm_table__ when using
   PostgreSQL as the database (e.g. "schema.table"). (#146580,
   reported by James Mayfield)
 - Test runner handles path correctly on Windows, and SQLite
   tests won't break (patch by Ali Afshar).
 - In the SQLite backend, ensure that we're able to recommit a
   transaction after "database is locked" errors. Also make sure
   that when this happens the timeout is actually the expected
   one (patch by Richard Boulton)
 - TransactionFailedError is now imported from the public
   place: ZODB.POSException (#129715, by James Henstridge).
 - TimeDelta was added to storm.locals.
 - Tables named with reserved keywords are properly escaped.
 - Reserved keywords on column names are properly escaped when
   part of an insert or update statement (#184849, by Thomas Herve).
 - Prevent cached objects from issuing selects to retrieve their
   data when find()s were previously made and already brough
   their data (#174388, reported and fixed by Bernd Dorn).
 - Fixed bug which caused an object to be readded to the store
   when a reference of an object that had already been removed
   was looked up.
 - Prevent pathological case which happens when a statement like
   "SELECT ... WHERE table.id = currval(...)" is executed in
   PostgreSQL. The change is only meaningful on PostgreSQL < 8.2,
   as newer versions will use the RETURNING extension instead.
 - Specify both of the joining tables explicitly when compiling Proxy,
   so that it doesn't break due to incorrect references in the ON clause
   when multiple tables are used (reported in #162528 by S3ym0ur and
   Hamilton Tran)
 - MySQL client charset now defaults to UTF-8 (reported
   by Brad Crittenden).

Changelog 

View the full changelog

Improvements
------------
 - The Connection will reconnect automatically when connection
   drops are detected and a rollback is performed. As a result,
   the Store should handle reconnections in a seamless way in
   most circumstances (#94986, by James Henstridge). This is
   supported in the MySQL and PostgreSQL backends.
 - Store.flush() will not load values inserted in the database.
   Instead, undefined variables are set to AutoReload, and resolved
   once first accessed. This won't be noticeable in normal usage,
   but will boost the performance of inserts.
 - Support in the postgres backend to use the RETURNING extension of
   the INSERT statement to retrieve the primary key on inserts for
   object identity mapping (PostgreSQL >= 8.2 only)
 - Introduced a cache mechanism that keeps the N last retrieved objects
   in memory to optimize cases where the same object is retrieved
   often while no strong references are kept elsewhere. Implemented by
   Bernd Dorn, from Lovely Systems.
 - Improved support for TimeDelta properties on all backends. Many
   more formats are accepted now, and some issues were fixed.

Bug fixes
---------
 - TimeDelta was added to storm.locals.
 - Fixed TimeDelta support in SQLite, MySQL, and PostgreSQL,
   and enabled base test for all backends to ensure that it
   continues to work.
 - Schema names are accepted in __storm_table__ when using
   PostgreSQL as the database (e.g. "schema.table"). (#146580,
   reported by James Mayfield)
 - Test runner handles path correctly on Windows, and SQLite
   tests won't break (patch by Ali Afshar).
 - In the SQLite backend, ensure that we're able to recommit a
   transaction after "database is locked" errors. Also make sure
   that when this happens the timeout is actually the expected
   one (patch by Richard Boulton)
 - TransactionFailedError is now imported from the public
   place: ZODB.POSException (#129715, by James Henstridge).
 - TimeDelta was added to storm.locals.
 - Tables named with reserved keywords are properly escaped.
 - Reserved keywords on column names are properly escaped when
   part of an insert or update statement (#184849, by Thomas Herve).
 - Prevent cached objects from issuing selects to retrieve their
   data when find()s were previously made and already brough
   their data (#174388, reported and fixed by Bernd Dorn).
 - Fixed bug which caused an object to be readded to the store
   when a reference of an object that had already been removed
   was looked up.
 - Prevent pathological case which happens when a statement like
   "SELECT ... WHERE table.id = currval(...)" is executed in
   PostgreSQL. The change is only meaningful on PostgreSQL < 8.2,
   as newer versions will use the RETURNING extension instead.
 - Specify both of the joining tables explicitly when compiling Proxy,
   so that it doesn't break due to incorrect references in the ON clause
   when multiple tables are used (reported in #162528 by S3ym0ur and
   Hamilton Tran)
 - MySQL client charset now defaults to UTF-8 (reported
   by Brad Crittenden).

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.