Storm 0.19

Milestone information

Barry Warsaw
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
2 Free Ekanayaka, 2 Gavin Panella, 1 Henning Eggers, 2 James Henstridge, 2 Jamu Kakar, 1 Jelmer Vernooij, 1 Robert Collins, 2 Sidnei da Silva, 3 Thomas Herve
No blueprints are targeted to this milestone.
16 Fix Released

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.19.tar.bz2 (md5, sig) 0.19 2,898
last downloaded 4 days ago
download icon storm-0.19.tar.gz (md5, sig) 0.19 8,202
last downloaded 3 days ago
Total downloads: 11,100

Release notes 

0.19 (2011-10-03)

 - A new Cast expressions compiles an input and the type to cast it to
   into a call the CAST function (bug #681121).
 - The storm.zope.testing.ZStormResourceManager now supports applying database
   schemas using a custom URI, typically for connecting to the database using a
   different user with greater privileges than the user running the tests. Note
   that the format of the 'databases' parameter passed to the constructor of
   the ZStormResourceManager class has changed. So now you have to create your
   resource manager roughly like this::

    databases = [{"name": "test",
                  "uri": "postgres://user@host/db",
                  "schema": Schema(...),
                  "schema-uri: "postgres://schema_user@host/db"}]
    manager = ZStormResourceManager(databases)

   where the "schema-uri" key is optional and would default to "uri" if
   not given. The old format of the 'databases' parameter is still supported
   but deprecated. (bug #772258)
 - A new storm.twisted.transact module has been added with facilities to
   integrate Storm with twisted, by running transactions in a separate
   thread from the main one in order to not block the reactor. (bug #777047)
 - ResultSet.config's "distinct" argument now also accepts a tuple of
   columns, which will be turned into a DISTINCT ON clause.
 - Provide wrapped cursor objects in the Django integration
   layer. Catch some disconnection errors that might otherwise be
   missed, leading to broken connections. (bug #816049)
 - A new JSON property is available. It's similar to the existing
   Pickle property, except that it serializes data as JSON, and must
   back onto a text column rather than a byte column. (bug #726799, #846867)
 - Cache the compilation of columns and tables (bug #826170, #848925).
 - Add two new tracers extracted from the Launchpad codebase.
   BaseStatementTracer provides statements with parameters substituted
   to its subclasses. TimelineTracer records queries in a timeline
   (useful for OOPS reports).
 - New ROW constructor (bug #698344).
 - Add support for Postgres DISTINCT ON queries. (bug #374777)

Bug fixes
 - When retrieving and using an object with Store.get(), Storm will no
   longer issue two queries when there is a live invalidated object
   (bug #697513).
 - When a datetime object is returned by the database driver,
   DateVariable failed to detect and convert it to a date() object
   (bug #391601).
 - The ISQLObjectResultSet declares an is_empty method, which matches
   the existing implementation. This makes it possible to call the
   method in security proxied environments (bug #759384).
 - The UUIDVariable correctly converts inputs to unicode before
   sending them to the database. This makes the UUID property usable
   (bug #691752).
 - Move the firing of the register-transaction event in
   Connection.execute before the connection checking, to make sure
   that the store gets registered properly for future rollbacks (bug
 - Skip tests/zope/README.txt when is not found. (bug #848848)
 - Fix the handling of disconnection errors in the storm.django bridge. (bug


This release does not have a changelog.

0 blueprints and 16 bugs targeted

Bug report Importance Assignee Status
854787 #854787 Storm Django layer does not correctly capture disconnection errors when using PostgreSQL backend 2 Critical James Henstridge  10 Fix Released
848925 #848925 test_get_decimal_property and test_set_decimal_property fail in PostgreSQL 3 High Thomas Herve  10 Fix Released
391601 #391601 DateVariable doesn't convert datetimes to dates when from_db is true 4 Medium Sidnei da Silva  10 Fix Released
681121 #681121 CAST expression support 4 Medium Jelmer Vernooij  10 Fix Released
691752 #691752 uuid does not work 4 Medium Jamu Kakar  10 Fix Released
697513 #697513 Store.get() on invalidated objects should retrieve all fields rather than just checking the object is alive 4 Medium James Henstridge  10 Fix Released
726799 #726799 It would be nice to have a JSON property 4 Medium Jamu Kakar  10 Fix Released
759384 #759384 is_empty method of SQLObjectResultSet missing on the interface 4 Medium Robert Collins  10 Fix Released
772258 #772258 ZStormResourceManager should support applying database schemas with a different user 4 Medium Free Ekanayaka  10 Fix Released
777047 #777047 Storm should offer facilities to integrate better with Twisted 4 Medium Free Ekanayaka  10 Fix Released
819282 #819282 The register-transaction event should happen earlier 4 Medium Thomas Herve  10 Fix Released
846867 #846867 JSONVariable._dumps is returning a byte string when it ought to return a unicode string 4 Medium Gavin Panella  10 Fix Released
816049 #816049 Broken tests regarding 5 Low Sidnei da Silva  10 Fix Released
826170 #826170 Cache compilation of columns and tables 5 Low Thomas Herve  10 Fix Released
848848 #848848 tests/zope/README.txt needs to run 5 Low Gavin Panella  10 Fix Released
698344 #698344 Storm has no ROW constructor 1 Undecided Henning Eggers  10 Fix Released
This milestone contains Public information
Everyone can see this information.