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]

Reply via email to