[geary/mjog/message-id-db: 1/2] Geary.ImapDB: Use RFC822 strings for Message-Id values in the database




commit d280bcbbebc81b4c4ba9f76aacabc03ae34f2846
Author: Michael Gratton <mike vee net>
Date:   Thu Aug 13 15:21:23 2020 +1000

    Geary.ImapDB: Use RFC822 strings for Message-Id values in the database
    
    Ensure `RFC822.MessageID.to_rfc822_string` is used when storing and
    searching for message ids in the database.

 src/engine/imap-db/imap-db-account.vala     | 4 ++--
 src/engine/imap-db/imap-db-message-row.vala | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/engine/imap-db/imap-db-account.vala b/src/engine/imap-db/imap-db-account.vala
index 602b4c2d9..99244dc26 100644
--- a/src/engine/imap-db/imap-db-account.vala
+++ b/src/engine/imap-db/imap-db-account.vala
@@ -494,8 +494,8 @@ private class Geary.ImapDB.Account : BaseObject {
 
         yield db.exec_transaction_async(Db.TransactionType.RO, (cx) => {
             Db.Statement stmt = cx.prepare("SELECT id FROM MessageTable WHERE message_id = ? OR in_reply_to 
= ?");
-            stmt.bind_string(0, message_id.value);
-            stmt.bind_string(1, message_id.value);
+            stmt.bind_string(0, message_id.to_rfc822_string());
+            stmt.bind_string(1, message_id.to_rfc822_string());
 
             Db.Result result = stmt.exec(cancellable);
             while (!result.finished) {
diff --git a/src/engine/imap-db/imap-db-message-row.vala b/src/engine/imap-db/imap-db-message-row.vala
index 29dbd0b6f..43e6c57ed 100644
--- a/src/engine/imap-db/imap-db-message-row.vala
+++ b/src/engine/imap-db/imap-db-message-row.vala
@@ -209,7 +209,7 @@ private class Geary.ImapDB.MessageRow {
         }
 
         if (email.fields.is_all_set(Geary.Email.Field.REFERENCES)) {
-            message_id = (email.message_id != null) ? email.message_id.value : null;
+            message_id = (email.message_id != null) ? email.message_id.to_rfc822_string() : null;
             in_reply_to = (email.in_reply_to != null) ? email.in_reply_to.to_rfc822_string() : null;
             references = (email.references != null) ? email.references.to_rfc822_string() : null;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]