This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 814951c5fee19bf94b09f942482494fad3eda95b Author: Benoit Tellier <[email protected]> AuthorDate: Fri Jun 4 13:52:26 2021 +0700 [PERFORMANCE] CassandraDeletedMessageDAO should use CassandraAsyncExecutor::executeRows --- .../cassandra/mail/CassandraDeletedMessageDAO.java | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java index 3e6d9db..69e301b 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java @@ -30,8 +30,6 @@ import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTa import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.TABLE_NAME; import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.UID; -import java.util.function.Function; - import javax.inject.Inject; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; @@ -40,7 +38,7 @@ import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.model.MessageRange; import com.datastax.driver.core.PreparedStatement; -import com.datastax.driver.core.ResultSet; +import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import reactor.core.publisher.Flux; @@ -138,11 +136,10 @@ public class CassandraDeletedMessageDAO { public Flux<MessageUid> retrieveDeletedMessage(CassandraId cassandraId, MessageRange range) { return retrieveResultSetOfDeletedMessage(cassandraId, range) - .flatMapIterable(Function.identity()) .map(row -> MessageUid.of(row.getLong(UID))); } - private Mono<ResultSet> retrieveResultSetOfDeletedMessage(CassandraId cassandraId, MessageRange range) { + private Flux<Row> retrieveResultSetOfDeletedMessage(CassandraId cassandraId, MessageRange range) { switch (range.getType()) { case ALL: return retrieveAllDeleted(cassandraId); @@ -157,29 +154,29 @@ public class CassandraDeletedMessageDAO { throw new UnsupportedOperationException(); } - private Mono<ResultSet> retrieveAllDeleted(CassandraId cassandraId) { - return cassandraAsyncExecutor.execute( + private Flux<Row> retrieveAllDeleted(CassandraId cassandraId) { + return cassandraAsyncExecutor.executeRows( selectAllUidStatement.bind() .setUUID(MAILBOX_ID, cassandraId.asUuid())); } - private Mono<ResultSet> retrieveOneDeleted(CassandraId cassandraId, MessageUid uid) { - return cassandraAsyncExecutor.execute( + private Flux<Row> retrieveOneDeleted(CassandraId cassandraId, MessageUid uid) { + return cassandraAsyncExecutor.executeRows( selectOneUidStatement.bind() .setUUID(MAILBOX_ID, cassandraId.asUuid()) .setLong(UID, uid.asLong())); } - private Mono<ResultSet> retrieveDeletedBetween(CassandraId cassandraId, MessageUid from, MessageUid to) { - return cassandraAsyncExecutor.execute( + private Flux<Row> retrieveDeletedBetween(CassandraId cassandraId, MessageUid from, MessageUid to) { + return cassandraAsyncExecutor.executeRows( selectBetweenUidStatement.bind() .setUUID(MAILBOX_ID, cassandraId.asUuid()) .setLong(UID_FROM, from.asLong()) .setLong(UID_TO, to.asLong())); } - private Mono<ResultSet> retrieveDeletedAfter(CassandraId cassandraId, MessageUid from) { - return cassandraAsyncExecutor.execute( + private Flux<Row> retrieveDeletedAfter(CassandraId cassandraId, MessageUid from) { + return cassandraAsyncExecutor.executeRows( selectFromUidStatement.bind() .setUUID(MAILBOX_ID, cassandraId.asUuid()) .setLong(UID_FROM, from.asLong())); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
