Storm 0.17
Milestone information
- Active:
- No. Drivers cannot target bugs and blueprints to this milestone.
Activities
- Assigned to you:
- No blueprints or bugs assigned to you.
- Assignees:
- 1 Gavin Panella, 1 Guilherme Salgado, 2 James Henstridge, 5 Jamu Kakar, 1 Marien Zwart, 1 Thomas Herve
- Blueprints:
- No blueprints are targeted to this milestone.
- Bugs:
- 1 Won't Fix, 10 Fix Released
Download files for this release
Release notes
The Storm team is proud to announce Storm 0.17!
The new release includes a number of new features:
* Optimized any and is_empty ResultSet methods
* String-based order by on ReferenceSet
* Improved safety checks to help prevent bugs and aid debugging
* Get a Select expression for a ResultSet
* SQLite reserved words are correctly handled
This release includes official packages for all supported releases
of Ubuntu. They are available in the Storm team's PPA:
https:/
You can find the release files at:
https:/
You can always get the latest source code from Launchpad:
bzr branch lp:storm
Finally, you can join us in the #storm channel on irc.freenode.net
and on the Storm mailing list:
https:/
Read on for more...
Optimized any and is_empty ResultSet methods
-------
The ResultSet.any, ResultSet.is_empty and the equivalents on
ReferenceSet strip ORDER BY clauses before running queries. This
will provide a performance boost for queries that would match a
large number of rows.
String-based order by on ReferenceSet
-------
When the Storm metaclass is used as the base for Storm model
classes, strings can be used to define ReferenceSets, for example:
class Library(Storm):
books = ReferenceSet(
This makes it easy to workaround circular import issues. The
default ORDER BY clause can now be defined using a string:
class Library(Storm):
books = ReferenceSet(
Improved safety checks to help prevent bugs and aid debugging
-------
Store and Connection objects have new block_access and
unblock_access methods, designed to prevent access to the database
during unexpected times, such as between web requests. If an
attempt to access the database is made while a connection is blocked
a ConnectionBlock
ZStorm-managed store is accessed in a different thread from the one
in which it was created a ZStormError will be raised.
Get a Select expression for a ResultSet
-------
ResultSet has a new get_select_expr that can be used to get a Select
expression, useful when building a subselect, configured with the
same settings as the ResultSet. A list of columns must be provided:
result = store.find(Book, Library.
select = result.
SQLite reserved words are correctly handled
-------
In addition to the standard SQL92 reserved words, SQLite has it's
own set reserved words. Storm is now aware of them and will perform
escaping correctly, making it easier for users that have table and
column names that conflict with this list.