You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2016/03/04 13:38:10 UTC
[13/20] james-project git commit: IMAP-370 Kill un efficient and
unnecessary prepared query from query string
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 <bt...@linagora.com>
Authored: Thu Mar 3 10:25:03 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org