Cassandra CQL Compatibility Matrix
Comprehensive compatibility reference for HeliosDB’s Cassandra CQL protocol implementation.
Overall Compatibility
| Category | Coverage | Status |
|---|
| Native Protocol v4/v5 | 100% | Complete |
| CQL Language | 100% | Complete |
| Data Types | 100% | Complete |
| Authentication | 100% | Complete |
Protocol Support
Frame Types
| Frame | Direction | Status | Notes |
|---|
| STARTUP | C->S | Supported | Connection init |
| OPTIONS | C->S | Supported | Query capabilities |
| QUERY | C->S | Supported | Execute CQL |
| PREPARE | C->S | Supported | Prepare statement |
| EXECUTE | C->S | Supported | Run prepared |
| BATCH | C->S | Supported | Batch operations |
| REGISTER | C->S | Supported | Event subscription |
| AUTH_RESPONSE | C->S | Supported | Auth response |
| READY | S->C | Supported | Connection ready |
| AUTHENTICATE | S->C | Supported | Auth challenge |
| SUPPORTED | S->C | Supported | Capabilities |
| RESULT | S->C | Supported | Query result |
| ERROR | S->C | Supported | Error response |
| EVENT | S->C | Supported | Server event |
| AUTH_CHALLENGE | S->C | Supported | SASL challenge |
| AUTH_SUCCESS | S->C | Supported | Auth complete |
Protocol Features
| Feature | Status | Notes |
|---|
| Compression (LZ4) | Supported | Recommended |
| Compression (Snappy) | Supported | Alternative |
| Streaming | Supported | Paged results |
| Tracing | Supported | Query tracing |
| Custom payloads | Supported | v4+ |
| Warnings | Supported | Query warnings |
Data Types
Primitive Types
| Type | CQL | Status | HeliosDB Mapping |
|---|
| ascii | ASCII | Supported | TEXT |
| bigint | BIGINT | Supported | BIGINT |
| blob | BLOB | Supported | BYTEA |
| boolean | BOOLEAN | Supported | BOOLEAN |
| counter | COUNTER | Supported | BIGINT + trigger |
| date | DATE | Supported | DATE |
| decimal | DECIMAL | Supported | DECIMAL |
| double | DOUBLE | Supported | DOUBLE PRECISION |
| duration | DURATION | Supported | INTERVAL |
| float | FLOAT | Supported | REAL |
| inet | INET | Supported | INET |
| int | INT | Supported | INTEGER |
| smallint | SMALLINT | Supported | SMALLINT |
| text | TEXT | Supported | TEXT |
| time | TIME | Supported | TIME |
| timestamp | TIMESTAMP | Supported | TIMESTAMPTZ |
| timeuuid | TIMEUUID | Supported | UUID |
| tinyint | TINYINT | Supported | SMALLINT |
| uuid | UUID | Supported | UUID |
| varchar | VARCHAR | Supported | TEXT |
| varint | VARINT | Supported | NUMERIC |
Collection Types
| Type | CQL | Status | HeliosDB Mapping |
|---|
| list | LIST | Supported | JSONB array |
| set | SET | Supported | JSONB array |
| map | MAP<K,V> | Supported | JSONB object |
| tuple | TUPLE<…> | Supported | JSONB array |
| frozen | FROZEN | Supported | JSONB |
User-Defined Types
| Feature | Status | Notes |
|---|
| CREATE TYPE | Supported | Stored as JSONB |
| ALTER TYPE | Supported | |
| DROP TYPE | Supported | |
| Nested UDTs | Supported | Full nesting |
DDL Statements
Keyspace Management
| Statement | Status | Notes |
|---|
| CREATE KEYSPACE | Supported | With replication options |
| ALTER KEYSPACE | Supported | |
| DROP KEYSPACE | Supported | |
| USE | Supported | Switch keyspace |
Replication Strategies
| Strategy | Status | Notes |
|---|
| SimpleStrategy | Supported | Single DC |
| NetworkTopologyStrategy | Supported | Multi-DC |
Table Management
| Statement | Status | Notes |
|---|
| CREATE TABLE | Supported | All options |
| ALTER TABLE | Supported | Add/drop columns |
| DROP TABLE | Supported | |
| TRUNCATE | Supported | |
Table Options
| Option | Status | Notes |
|---|
| bloom_filter_fp_chance | Mapped | Index hints |
| caching | Mapped | Query cache |
| comment | Supported | |
| compaction | Mapped | Compaction strategy |
| compression | Mapped | Storage compression |
| default_time_to_live | Supported | Row TTL |
| gc_grace_seconds | Mapped | Tombstone cleanup |
| memtable_flush_period_in_ms | Mapped | Flush interval |
| speculative_retry | Ignored | N/A |
Index Management
| Statement | Status | Notes |
|---|
| CREATE INDEX | Supported | B-tree index |
| DROP INDEX | Supported | |
| CREATE CUSTOM INDEX | Partial | SASI indexes |
Materialized Views
| Statement | Status | Notes |
|---|
| CREATE MATERIALIZED VIEW | Supported | Auto-maintained |
| DROP MATERIALIZED VIEW | Supported | |
| ALTER MATERIALIZED VIEW | Supported | |
DML Statements
SELECT
| Feature | Status | Notes |
|---|
| Basic SELECT | Supported | |
| WHERE clause | Supported | Primary key required |
| ORDER BY | Supported | Clustering order |
| LIMIT | Supported | |
| ALLOW FILTERING | Supported | Full table scan |
| IN clause | Supported | Partition keys |
| Token function | Supported | Range queries |
| TTL function | Supported | Read TTL |
| WRITETIME function | Supported | Read write time |
| JSON | Supported | JSON output |
INSERT
| Feature | Status | Notes |
|---|
| Basic INSERT | Supported | |
| IF NOT EXISTS | Supported | LWT |
| USING TTL | Supported | Row TTL |
| USING TIMESTAMP | Supported | Write time |
| JSON | Supported | JSON input |
UPDATE
| Feature | Status | Notes |
|---|
| Basic UPDATE | Supported | |
| IF EXISTS | Supported | LWT |
| IF conditions | Supported | LWT |
| Collection updates | Supported | List/Set/Map ops |
| Counter updates | Supported | Increment |
| USING TTL | Supported | |
| USING TIMESTAMP | Supported | |
DELETE
| Feature | Status | Notes |
|---|
| Basic DELETE | Supported | |
| Column DELETE | Supported | Set to null |
| IF EXISTS | Supported | LWT |
| IF conditions | Supported | LWT |
| USING TIMESTAMP | Supported | |
BATCH
| Feature | Status | Notes |
|---|
| LOGGED BATCH | Supported | Atomic |
| UNLOGGED BATCH | Supported | Non-atomic |
| COUNTER BATCH | Supported | Counter updates |
| USING TIMESTAMP | Supported | |
Functions
Aggregate Functions
| Function | Status | Notes |
|---|
| COUNT | Supported | |
| SUM | Supported | |
| AVG | Supported | |
| MIN | Supported | |
| MAX | Supported | |
Scalar Functions
| Function | Status | Notes |
|---|
| token | Supported | Partition token |
| uuid | Supported | Random UUID |
| now | Supported | Current time |
| minTimeuuid | Supported | Min TIMEUUID |
| maxTimeuuid | Supported | Max TIMEUUID |
| dateOf | Supported | Extract date |
| unixTimestampOf | Supported | Unix timestamp |
| toDate | Supported | Convert to date |
| toTimestamp | Supported | Convert to timestamp |
| toUnixTimestamp | Supported | Convert to Unix |
| writetime | Supported | Get write time |
| ttl | Supported | Get TTL |
| blobAsX/XAsBlob | Supported | Type conversions |
| castAsX | Supported | Type casts |
User-Defined Functions
| Feature | Status | Notes |
|---|
| CREATE FUNCTION | Supported | SQL functions |
| DROP FUNCTION | Supported | |
| CREATE AGGREGATE | Supported | Custom aggregates |
| DROP AGGREGATE | Supported | |
Lightweight Transactions (LWT)
| Feature | Status | Notes |
|---|
| IF NOT EXISTS | Supported | Insert condition |
| IF EXISTS | Supported | Update/Delete condition |
| IF column = value | Supported | Conditional update |
| IF column IN (…) | Supported | Multiple values |
| IF column != value | Supported | Inequality |
Authentication
| Authenticator | Status | Notes |
|---|
| AllowAllAuthenticator | Supported | No auth |
| PasswordAuthenticator | Supported | Username/password |
| LDAP | Supported | External auth |
Authorization
| Permission | Status | Notes |
|---|
| SELECT | Supported | Read |
| MODIFY | Supported | Write |
| CREATE | Supported | DDL |
| ALTER | Supported | DDL |
| DROP | Supported | DDL |
| AUTHORIZE | Supported | Grant/Revoke |
| DESCRIBE | Supported | Schema access |
Consistency Levels
| Level | Status | Behavior |
|---|
| ANY | Supported | Write only |
| ONE | Supported | Single node |
| TWO | Supported | Two nodes |
| THREE | Supported | Three nodes |
| QUORUM | Supported | Majority |
| ALL | Supported | All replicas |
| LOCAL_QUORUM | Supported | Local DC quorum |
| EACH_QUORUM | Supported | Quorum per DC |
| LOCAL_ONE | Supported | Local node |
| SERIAL | Supported | LWT read |
| LOCAL_SERIAL | Supported | Local LWT read |
Known Limitations
Not Supported
| Feature | Reason |
|---|
| CDC | Use HeliosDB CDC |
| Repair | Automatic with replication |
| Nodetool | HeliosDB admin tools |
| SSTable operations | Internal storage |
| JMX metrics | Use HeliosDB metrics |
Behavioral Differences
- Storage: Wide-column mapped to relational
- Tombstones: Handled by MVCC
- Compaction: Uses HeliosDB compaction
- Hints: Different mechanism
Related: README.md | CONFIGURATION.md | EXAMPLES.md
Last Updated: December 2025