The version of CQL described in this document and the default mode in Cassandra 2.0 is based on the CQL specification 3.1.0. This version of CQL includes 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.
- 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 of the any part, partition key or clustering columns, portion of a compound primary key.
Drivers that utilize CQL are available on github:
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: