All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- A bug where Cassie::Testing::Fake::Result#empty? returned the incorrect value
- Cassie::Statements::Execution#execute now accepts an optional hash of cassandra_driver execution options
- Tasks that drop, now have a 10 second timeout. Fixes Issue 26
- Bug where executing
schema:migrate
immediately afterschema:init -v SOME_VERSION
recorded incorrectly ordered version history.
- Bug where
replication
settings from legacy cassandra_migrations style config file weren't honored and caused failedschema:init
task.
- Optimization: use cluster metadata instead of queries to see if schema table exists when loading schema.rb
- Schema versioning now supports multiple envrionments more robustly. Drop your
cassie_schema.versions
table and runcassie schema:init -v <last schema version applied>
to upgrade. schema.cql
is replaced by keyspace-agnosticschema.rb
with robust support for multiple environments. Paves the way to multiple-keyspace support as well.schema.cql
is deprecated.Cassie::Schema::StructureDumper
andCassie::Schema::StructureLoader
are deprecated in favor ofCassie::Schema::SchemaDumper
andCassie::Schema::SchemaLoader
--trace
option tocassie
commands to show error backtraces--version
option tocassie schema:init
to fast-forward to a version that matches an existing schema
- bug where
cassie start
didn't show the readable error if cassandra was already
- TaskRunner.new accepts
args
- Replaced TaskRunner.run_command(args) with
run
- bug where
Cassie::Schema.record_version
failed for new migrations
cassie migrations:import
now dumps the schema after succeeding
- bug where
cassie:migrations:import
didn't initialize schema - bug where
Cassie::Schema.record_version
silently failed
- bug where
cassie
commands that accept value-based switches (--path path/to/foo.rb) didn't accept values correctly
- argv support for sinatra/rails applications using .rake tasks
- Full support for versioned schema migrations. See the Migrations README for more on features and usage.
- Support for importing legacy
cassandra_migrations
migrations. See the Migrations README. - Various
cassie
tasks, see README. - Inline documentation
Cassie::Support::SystemCommand
is nowCassie::Support::SystemCommand
Cassie::Support::SystemCommand#run!
is nowCassie::Support::SystemCommand.succeed
- deleted the depreated
Query.insert
. UseQuery.insert_into
. - deleted the depreated
Query.delete
. UseQuery.delete_from
.
- Support for
allow_filtering
to Selection Statements
- Support for rails 5
- Statement support for deleting specific columns
- Bug where instrumentation didn't report keyspace correctly on cassie.session.connect
- Cluser and session connection logging outputs hash now to support complex formatting (JSON,etc)
- bug where insert queries didn't respect
if
options
- bug where values weren't lazily evaluated for Assignements (
set
)
non_idempotent
helper
Cassie::Statements.default_idempotency
now defaults totrue
- Bug where nil values for arguments and relations didn't result in the correct number of bindings
Cassie::Support::SystemCommand#run!
- support for statement idempotency and type hinting (Selections default to idempotent)
- Cassie::Statement
execute!
helper that raises if execution fails
- Bug where nil values for arguments didn't result in the correct number of bindings
Cassie::Result::QueryResult.first!
to_cql
method to Statements, providing CQL strings that are executable incqlsh
Cassie::Statements.default_consistency
, fallback for query classes
- select support with
select
method and helpers (writetime
,count
, etc) - dynamic term support and non-positional terms (
now()
,minTimeUuid(?)
, etc) - separate
Cassandra::Query
,Cassandra::Definition
, andCassandra::Modification
base classes (see Readmes) cassie tail
commandcassie stop``--all
switch- support for synthetic partition linking (see Readmes)
Cassie::Statements.default_limit
- breaking: rename
build_resource
tobuild_result
- breaking: rename
select
toselect_from
- breaking: moved
next_row
out of query and intoresult
, now namedpeeked_row
- breaking: moved
next_max_cursor
andnext_max_<identifier>
out of query object and intoresult
object - deprecate
insert
in favor ofinsert_into
- deprecate
delete
in favor ofdelete_from
- query results are now an enumerable object decorating Cassandra::Results object, accessable via
result
after execution, or directly viafetch
value
options forset
andwhere
DSL now only accepts a symbol for a method to call. (no longer supports string eval or static values)
insert
alias for executeupdate
alias for executedelete
alias for executeselect
alias for executeCassie::Statements::Statement::Pagination::PageSize.default
, useCassie::Statements.default_limit
instead.