From 73cb65c051ac41725beb0bf1b26fccdede134568 Mon Sep 17 00:00:00 2001 From: Alex Shvid Date: Wed, 27 Nov 2013 11:39:11 -0800 Subject: [PATCH] add truncate function to CassandraTemplate --- .../cassandra/core/CassandraOperations.java | 7 +++++++ .../cassandra/core/CassandraTemplate.java | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraOperations.java b/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraOperations.java index 3d5d8cf41..a43ebf085 100644 --- a/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraOperations.java +++ b/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraOperations.java @@ -438,4 +438,11 @@ public interface CassandraOperations { */ void ingest(String cql, Object[][] rows); + /** + * Delete all rows in the table + * + * @param tableName + */ + void truncate(String tableName); + } diff --git a/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraTemplate.java b/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraTemplate.java index cf4c3f20e..b4de158b2 100644 --- a/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraTemplate.java +++ b/spring-cassandra/src/main/java/org/springframework/cassandra/core/CassandraTemplate.java @@ -38,6 +38,8 @@ import com.datastax.driver.core.ResultSetFuture; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import com.datastax.driver.core.exceptions.DriverException; +import com.datastax.driver.core.querybuilder.QueryBuilder; +import com.datastax.driver.core.querybuilder.Truncate; /** * This is the Central class in the Cassandra core package. It simplifies the use of Cassandra and helps to avoid @@ -616,4 +618,13 @@ public class CassandraTemplate extends CassandraAccessor implements CassandraOpe }); } + + /* (non-Javadoc) + * @see org.springframework.cassandra.core.CassandraOperations#truncate(java.lang.String) + */ + @Override + public void truncate(String tableName) throws DataAccessException { + Truncate truncate = QueryBuilder.truncate(tableName); + doExecute(truncate.getQueryString()); + } } \ No newline at end of file