IMAP-370 Kill un efficient and unnecessary prepared query from query string
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ca531c0d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ca531c0d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ca531c0d Branch: refs/heads/master Commit: ca531c0d9dbbae1facfd1b5abf1727575c152243 Parents: bb92cd4 Author: Benoit Tellier <[email protected]> Authored: Thu Mar 3 10:25:03 2016 +0700 Committer: Benoit Tellier <[email protected]> Committed: Fri Mar 4 19:35:24 2016 +0700 ---------------------------------------------------------------------- .../cassandra/mail/CassandraMessageMapper.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ca531c0d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java index 12137c5..e001839 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java @@ -19,7 +19,6 @@ package org.apache.james.mailbox.cassandra.mail; -import static com.datastax.driver.core.querybuilder.QueryBuilder.bindMarker; import static com.datastax.driver.core.querybuilder.QueryBuilder.decr; import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; import static com.datastax.driver.core.querybuilder.QueryBuilder.gte; @@ -94,14 +93,11 @@ import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; import org.apache.james.mailbox.store.mail.model.impl.SimpleProperty; -import com.datastax.driver.core.BoundStatement; -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 com.datastax.driver.core.UDTValue; import com.datastax.driver.core.querybuilder.Assignment; -import com.datastax.driver.core.querybuilder.Insert; import com.datastax.driver.core.querybuilder.QueryBuilder; import com.datastax.driver.core.querybuilder.Select.Where; import com.google.common.io.ByteStreams; @@ -322,7 +318,7 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> { private MessageMetaData save(Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> message) throws MailboxException { try { - Insert query = insertInto(TABLE_NAME) + session.execute(insertInto(TABLE_NAME) .value(MAILBOX_ID, mailbox.getMailboxId().asUuid()) .value(IMAP_UID, message.getUid()) .value(MOD_SEQ, message.getModSeq()) @@ -338,8 +334,8 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> { .value(SEEN, message.isSeen()) .value(USER, message.createFlags().contains(Flag.USER)) .value(USER_FLAGS, userFlagsSet(message)) - .value(BODY_CONTENT, bindMarker()) - .value(HEADER_CONTENT, bindMarker()) + .value(BODY_CONTENT, toByteBuffer(message.getBodyContent())) + .value(HEADER_CONTENT, toByteBuffer(message.getHeaderContent())) .value(PROPERTIES, message.getProperties().stream() .map(x -> typesProvider.getDefinedUserType(PROPERTIES) .newValue() @@ -347,12 +343,8 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> { .setString(Properties.NAME, x.getLocalName()) .setString(Properties.VALUE, x.getValue())) .collect(Collectors.toList())) - .value(TEXTUAL_LINE_COUNT, message.getTextualLineCount()); - PreparedStatement preparedStatement = session.prepare(query.toString()); + .value(TEXTUAL_LINE_COUNT, message.getTextualLineCount())); - - BoundStatement boundStatement = preparedStatement.bind(toByteBuffer(message.getBodyContent()), toByteBuffer(message.getHeaderContent())); - session.execute(boundStatement); return new SimpleMessageMetaData(message); } catch (IOException e) { throw new MailboxException("Error saving mail", e); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
