cqlengine/cqlengine — pull request #143 by dokai (2013-12-14 18:40:07+00:00)
Title: Fix logic determining if compaction options need syncing

The compaction_strategy_options as received from the
`system.schema_columnfamilies` table are all string valued and
comparison to typed values (ints, floats) as defined in models results
in sync_table() issuning ALTER TABLE statements redundantly even if
there were no changes to compaction options.

This patch casts the values defined in models to strings to ensure they
compare equal as needed.

Additionally, this patch normalizes handling of the `min_threshold` and
`max_threshold` options for SizeTieredCompactionStrategy which exist
outside the `compaction_strategy_options` mapping and have different
names in the `system.schema_columnfamilies` table compared to the CQL
options.

A typo in the `BaseModel.__compaction_tombstone_threshold__` option is
also fixed.

The failing tests also fail on the current master.