This should be a fairly smooth upgrade from pycassa 1.1. The
primary changes that may introduce minor incompatibilities are
the changes to ColumnFamilyMap and the automatic skipping of
"ghost ranges" in .ColumnFamily.get_range().
Features
* Add ConnectionPool.fill()
* Add FloatType, DoubleType, DateType, and BooleanType support.
* Add CompositeType support for static composites. See "Composite Types"
for more details.
* Add timestamp, ttl to ColumnFamilyMap.insert() params
* Support variable-length integers with IntegerType. This allows more
space-efficient small integers as well as integers that exceed the size
of a long.
* Make ColumnFamilyMap a subclass of ColumnFamily instead of using one
as a component. This allows all of the normal adjustments normally done
to a ColumnFamily to be done to a ColumnFamilyMap instead. See "Class
Mapping with Column Family Map" for examples of using the new version.
* Expose the following ConnectionPool attributes, allowing them to be
altered after creation: max_overflow, pool_timeout, recycle,
max_retries, and logging_name. Previously, these were all supplied as
constructor arguments. Now, the preferred way to set them is to alter
the attributes after creation. (However, they may still be set in the
constructor by using keyword arguments.)
* Automatically skip "ghost ranges" in ColumnFamily.get_range().
Rows without any columns will not be returned by the generator,
and these rows will not count towards the supplied row_count.
Bug Fixes
* Add connections to ConnectionPool more readily when prefill is False.
Before this change, if the ConnectionPool was created with prefill=False,
connections would only be added to the pool when there was concurrent
demand for connections. After this change, if prefill=False and
pool_size=N, the first N operations will each result in a new connection
being added to the pool.
* Close connection and adjust the ConnectionPool‘s connection count after a
TApplicationException. This exception generally indicates programmer error,
so it’s not extremely common.
* Handle typed keys that evaluate to False
Deprecated
* ConnectionPool.recreate()
* ConnectionPool.status()
Miscellaneous
* Better failure messages for ConnectionPool failures
* More efficient packing and unpacking
* More efficient multi-column inserts in ColumnFamily.insert() and
ColumnFamily.batch_insert()
* Prefer Python 2.7’s collections.OrderedDict over the bundled version when
available