diff --git a/docs/src/main/sphinx/connector/cassandra.rst b/docs/src/main/sphinx/connector/cassandra.rst index 7c22431cfd0d..35a1ee427264 100644 --- a/docs/src/main/sphinx/connector/cassandra.rst +++ b/docs/src/main/sphinx/connector/cassandra.rst @@ -274,6 +274,7 @@ statements, the connector supports the following features: * :doc:`/sql/insert` * :doc:`/sql/delete` see :ref:`sql-delete-limitation` +* :doc:`/sql/truncate` * :doc:`/sql/create-table` * :doc:`/sql/create-table-as` * :doc:`/sql/drop-table` diff --git a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java index 2882592795ce..aeab825ce8de 100644 --- a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java +++ b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java @@ -50,6 +50,7 @@ import java.util.OptionalLong; import java.util.stream.Collectors; +import static com.datastax.driver.core.querybuilder.QueryBuilder.truncate; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.common.collect.MoreCollectors.toOptional; @@ -319,6 +320,13 @@ public Optional finishCreateTable(ConnectorSession sess return Optional.empty(); } + @Override + public void truncateTable(ConnectorSession session, ConnectorTableHandle tableHandle) + { + CassandraTableHandle table = (CassandraTableHandle) tableHandle; + cassandraSession.execute(truncate(table.getSchemaName(), table.getTableName())); + } + @Override public ConnectorInsertTableHandle beginInsert(ConnectorSession session, ConnectorTableHandle tableHandle) { diff --git a/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnectorTest.java b/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnectorTest.java index f639803e00b4..e1b2a6269da3 100644 --- a/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnectorTest.java +++ b/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnectorTest.java @@ -86,6 +86,9 @@ public class TestCassandraConnectorTest protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior) { switch (connectorBehavior) { + case SUPPORTS_TRUNCATE: + return true; + case SUPPORTS_CREATE_SCHEMA: return false;