Skip to content

Commit e6b8fc0

Browse files
committed
feat: add count method to CassandraTemplate
Implemented a count method in CassandraTemplate to return the number of records matching a given SelectQuery with the specified ConsistencyLevel, enhancing query capabilities. Signed-off-by: Maximillian Arruda <[email protected]>
1 parent 180185c commit e6b8fc0

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

jnosql-cassandra/src/main/java/org/eclipse/jnosql/databases/cassandra/mapping/CassandraTemplate.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@ public interface CassandraTemplate extends ColumnTemplate {
8787
*/
8888
void delete(DeleteQuery query, ConsistencyLevel level);
8989

90+
/**
91+
* Returns the count of records that match the given {@link SelectQuery} using the specified
92+
* {@link ConsistencyLevel}.
93+
*
94+
* @param query the select query defining the criteria for counting; must not be {@code null}
95+
* @param level the Cassandra consistency level to use for the operation; must not be {@code null}
96+
* @return the number of records matching the query
97+
* @throws NullPointerException if {@code query} or {@code level} is {@code null}
98+
*/
99+
long count(SelectQuery query, ConsistencyLevel level);
100+
90101
/**
91102
* Executes a {@link SelectQuery} using a specified {@link ConsistencyLevel} and retrieves the matching records.
92103
*

jnosql-cassandra/src/main/java/org/eclipse/jnosql/databases/cassandra/mapping/DefaultCassandraTemplate.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,13 @@ public void delete(DeleteQuery query, ConsistencyLevel level) {
147147
manager.get().delete(query, level);
148148
}
149149

150+
@Override
151+
public long count(SelectQuery query, ConsistencyLevel level) {
152+
Objects.requireNonNull(query, "query is required");
153+
Objects.requireNonNull(level, "level is required");
154+
return manager.get().count(query, level);
155+
}
156+
150157
@Override
151158
public <T> Stream<T> find(SelectQuery query, ConsistencyLevel level) {
152159
Objects.requireNonNull(query, "query is required");

0 commit comments

Comments
 (0)