CQL for Cassandra 2.0

About CQL for Cassandra 2.0

This document includes descriptions of features in Cassandra 2.0.6 that are based on the CQL specification 3.1.1. New features are:
Cassandra 2.0 included the following new features and changes:
  • Lightweight transactions using the IF keyword in INSERT and UPDATE statements.
  • Prevention of application errors by performing conditional tests for the existence of a table, keyspace, or index.

    Simply include IF EXISTS or IF NOT EXISTS in DROP or CREATE statements, such as DROP KEYSPACE or CREATE TABLE.

  • Initial support for triggers that fire events executed in or out of a database cluster.
  • Atomic BATCH guarantees for large sets of prepared statements.
  • One-shot binding of optional variables or prepared statements and variables for server-side request parsing and execution using a BATCH message containing a list of query strings and bind variables.
  • The ALTER TABLE DROP command, which had been removed in the earlier release.
  • Column aliases, similar to aliases in RDBMS SQL, in a SELECT statement.
  • Indexing a compound primary key component.

Super columns are now deprecated. Cassandra continues to support apps that query super columns, translating super columns on the fly into CQL constructs and results.

Some changes have been made to the cqlsh commands:
Several CQL table attributes have been added:
  • default_time_to_live
  • memtable_flush_period_in_ms
  • populate_io_cache_on_flush
  • speculative_retry