- Rails integration: Add rake tasks for creating keyspace, migrations; generator for configuration file
- Implement update_all, delete_all, destroy_all
- Option for unlogged batches
- Allow record sets to be scoped by multiple primary keys
- If a batch is a single statement, just send it as a statement
- Don't start a new batch if you're already in a batch
- Wrap record callbacks in logged batch
- Update
connection_pool
dependency
- Support time range queries over
timeuuid
columns - Typecast arguments to scoping functions of
RecordSet
- Typecast values in collection columns
- Use correct ordering column for deeply nested keys
- Don't allow updating keys on persisted models
- Fail fast attempting to save a model that doesn't have all keys defined
- Fixes for legacy schema support
- Full support for legacy CQL2 tables
dependent
option forhas_many
associations
- BIG BREAKING CHANGE: Instead of inheriting from
Cequel::Model::Base
, includeCequel::Record
. - RecordSet can chain class methods defined in the model class
- New records are initialized using the key attributes from the current scope
- Auto-generated UUIDs
- Implement RecordSet#== and #inspect
- RecordSet#last takes optional count argument
- Dynamic column defaults
- Fix insertion of default values in new records
- Secondary index support
- Dirty attribute tracking
- == implementation for model
- Add missing attributes argument to #create!
- Load cequel/model by default
- Essentially a ground-up rewrite to support CQL3
- Ability to change default consistency within a block
- Calling ::load on a loaded Dictionary is a no-op
- Clear out Dictionary @row on save unless loaded
- Add homepage link so rubygems users can easily get to github
- Add link to cequel-migrations-rails to README
- Use parameters for pooling
- Persist Dictionary changes in batches
- Allow overriding of default column family name for model
- Implement
Dictionary#first
andDictionary#last
- Use default column limit when loading multiple wide rows
- Cequel::Model::Counter model class
- Counter column support for data sets
- Connection pool
- Load multiple dictionary rows in one query
- Allow erb yml files
- Default thrift options to empty hash if not provided
- Implement Dictionary#key?
Dictionary#each_slice
- Release to Rubygems.org
- Inspect UUIDs nicer
- Allow
Cequel::Model
classes to implement#generate_key
- Implement
Cequel::Model::Dictionary
- Fix Enumerator for
#find_each_row
#find_in_batches
accounts for duplicate last row/first row
- Sanitize column names
- Chain select options
- Support for column ranges and column limits
- Implement
#find_in_batches
,#find_each
- Don't pre-sanitize CQL statements before sending to cassandra-cql
- Don't set
updated_at
if no dirty attributes
- Add NewRelic instrumentation
- Lazily create CassandraCql connection
- Include limit in
COUNT
query if specified - Default scope
- Memoize column family name
- Fix subclass
#reflect_on_associations
- Add
index_preference
for query plan hinting
- Don't call constructor when hydrating models
- Add support for dynamic attributes
- Tweaks to logging
- Add a slowlog
- Update based on attributes, not value of getters
- Strip nil values out of rows in Cequel::Model
- Add thrift client options when setting up connection
- Defer setting logger on keyspace until keyspace needs to be loaded
- Set logger correctly in railtie
- Initial library release