Storm 0.20

Milestone information

Free Ekanayaka
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.
1 Alberto Donato, 6 Free Ekanayaka, 1 Gavin Panella, 1 Giovanni Pellerano, 1 James Henstridge, 1 Raphaël Badin, 3 Thomas Herve, 1 William Grant
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.20.tar.bz2 (md5, sig) 0.20 1,641
last downloaded 3 weeks ago
download icon storm-0.20.tar.gz (md5, sig) 0.20 3,897
last downloaded today
Total downloads: 5,538

Release notes 

0.20 (2013-06-28)


- A new CaptureTracer has been added to storm.testing, for capturing all SQL
  statements executed by Storm. It can be used like this:

    with CaptureTracer() as tracer:
      # Run queries
    print tracer.queries # Print all queries run in the context manager block

  You will need the python-fixtures package in order to use this feature.

- Setuptools <> is now required
  to run This makes it much easier to install the majority
  of the dependencies required to run the test suite in its entirety.

- Disconnection errors arising from PostgreSQL are now more reliably
  detected, especially with regard to recent libpq updates in Ubuntu.
  There are also disconnection tests that simulate sudden termination
  of pgbouncer <>.

- Insert expressions now support multi-row and subquery INSERT

- Support in the postgres backend to use the RETURNING extension for UPDATE
  statement, optionally specifying the columns to return.
  (PostgreSQL >= 8.2 only)

- Add a new Distinct expression for pre-pending the 'DISTINCT' token to
  SQL expressions that support it (like columns).

- Switch to REPEATABLE READ as isolation level for Postgres. If you use
  psycopg2 < 2.4, it doesn't change anything. For psycopg2 2.4 and newer, it
  will keep the same behavior on Postgres < 9 as it's equivalent to
  SERIALIZABLE, but it will be less strict on Postgres >= 9.

- Add support for two-phase commits, using the DB API version 2.0, which
  is only supported by PostgreSQL.

- ZStormResourceManager now has a schema_stamp_dir optional instance attribute
  that, if set, will be used to to save timestamps of the schema's patch
  packages, so schema upgrades will be performed only when needed.

Bug fixes

- When a SQLObjectResultSet object was sliced with slice.start and
  slice.end both zero (sqlobject[0:0]), the full, unsliced resultset
  was returned (bug #872086).

- Fixes some test failures around Django disconnections from
  PostgreSQL stores.

- Some of the proxy-less disconnection tests were causing segfaults,
  so they're now run in a subprocess via subunit's IsolatedTestCase,
  when it's available.

- Fix a few non-uses of super() in TestHelper.

- Abort the transaction and reset ZStorm at the end of

- Fix the ./test script to not import tests until after local eggs
  have been added to sys.path. This ensures that all possible features
  are available to the tests.

- If transaction.commit() fails, call transaction.abort() to rollback
  everything and leave the transaction in a clean state when using Django's
  ZopeTransactionMiddleware and DatabaseWrapper.

- It's now again possible to use the Desc() expression when passing an
  order_by parameter to a ReferenceSet (bug #620369).


This release does not have a changelog.

0 blueprints and 16 bugs targeted

Bug report Importance Assignee Status
872086 #872086 Distribution:+ppas and Distribution:+questions issue unlimited queries when memo=0&direction=backwards 3 High Raphaël Badin  10 Fix Released
958571 #958571 Move CaptureTracer out of the tracer module 3 High Thomas Herve  10 Fix Released
620369 #620369 RuntimeError when using Desc in ReferenceSet order_by 4 Medium Free Ekanayaka  10 Fix Released
879252 #879252 Add some convenience to capture SQL statements and save the in an in-memory log 4 Medium Free Ekanayaka  10 Fix Released
879258 #879258 The ZStormResourceManager.make phase should commit all schema changes at once 4 Medium Free Ekanayaka  10 Fix Released
898187 #898187 The Twisted Transactor should offer an API for tracking retries 4 Medium Free Ekanayaka  10 Fix Released
900702 #900702 pgbouncer error in test suite, psycopg went psycotic 4 Medium Gavin Panella  10 Fix Released
949943 #949943 Support Updates in Returning expressions 4 Medium Alberto Donato  10 Fix Released
959471 #959471 Lucid failure: test_configure_stores_configures_store_uris 4 Medium Thomas Herve  10 Fix Released
968298 #968298 Support ISOLATION_LEVEL_REPEATABLE_READ in the postgres backend 4 Medium Thomas Herve  10 Fix Released
1006284 #1006284 error handling in initialize_globals() from cextensions can cause interpreter to segfault 4 Medium James Henstridge  10 Fix Released
1036158 #1036158 Make ZStormResourceManager only upgrade the schema when changes happen 4 Medium Free Ekanayaka  10 Fix Released
1120276 #1120276 Storm SQLITE raw_connect could support WAL 5 Low Giovanni Pellerano  10 Fix Released
132485 #132485 Storm should try to support two-phase commit where possible 6 Wishlist Free Ekanayaka  10 Fix Released
613300 #613300 Storm needs to support INSERT INTO ... SELECT 1 Undecided William Grant  10 Fix Released
947455 #947455 DisconnectionError not raised by storm on 'OperationalError: terminating connection due to administrator command' 1 Undecided   10 Fix Released
This milestone contains Public information
Everyone can see this information.