YCQL - Cassandra 3.4 compatibility
Overview
Yugabyte Cloud Query Language (YCQL) has its roots in the Cassandra Query Language (CQL). This page highlights the important differences in feature support between YCQL and Cassandra 3.4.2.
This page does not list all the features supported in YCQL. For all the features and commands supported, see YCQL Reference. For advantages of YCQL over Cassandra, see Comparison with Apache Cassandra.
DDL statements
Table | ||
---|---|---|
ALTER TABLE | Cannot rename columns used in an index Cannot Add/Drop multiple columns |
|
ALTER TABLE ... IF [NOT] EXISTS |
Keyspace | ||
---|---|---|
CREATE KEYSPACE | ||
CREATE KEYSPACE ... IF NOT EXISTS | ||
ALTER KEYSPACE | No Op | |
ALTER KEYSPACE IF EXISTS |
Index | ||
---|---|---|
CREATE INDEX | No support for map/list/set/tuple/full jsonb/udt and keys/values/entries of a collection |
|
DROP INDEX |
Type | |
---|---|
CREATE TYPE | |
ALTER TYPE |
DML statements
Select | ||
---|---|---|
... [NOT] IN | ||
... IF <expression> | ||
... WHERE CONTAINS | In Progress | |
... WHERE CONTAINS KEY | In Progress | |
... JSON | ||
... GROUP BY | ||
... PER PARTITION LIMIT |
Update | ||
---|---|---|
UPDATE | Only single row updates | |
... [NOT] IN | Only single row updates | |
... IF <expression> | ||
... USING TTL | ||
... CONTAINS [KEY] |
Delete | ||
---|---|---|
DELETE | Only single row deletes | |
... [NOT] IN | Only single row deletes | |
... IF <expression> | ||
... USING TTL | ||
... CONTAINS [KEY] |
Insert | |
---|---|
INSERT | |
INSERT JSON |
Feature | ||
---|---|---|
Materialized Views | ||
BATCH | Only programattically via BatchStatement |
Unsupported datatypes
Type | |
---|---|
Tuple |
Unsupported commands
Feature | ||
---|---|---|
[CREATE | DROP] FUNCTION | No support for User Defined Function (UDF) | |
[CREATE | DROP] AGGREGATE | No support for User Defined Aggregates(UDA) | |
[CREATE | DROP] TRIGGER | No support for Triggers | |
[CREATE | DROP | ALTER | LIST] USER | Legacy Cassandra feature | |
LIST ROLES | ||
LIST PERMISSION |