remove messageid_ uniqueness constraint
authoradam <adam@megacz.com>
Sat, 1 Mar 2008 08:14:48 +0000 (08:14 +0000)
committeradam <adam@megacz.com>
Sat, 1 Mar 2008 08:14:48 +0000 (08:14 +0000)
darcs-hash:20080301081448-5007d-6f53d2f4663601b8b7a87eb88f3813947f7a2ee9.gz

src/org/ibex/mail/SqliteMailbox.java

index 384dc4d..f656f68 100644 (file)
@@ -48,7 +48,7 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree {
      */
     // FIXME: should messageid_ be decared unique?
     private static final String columns_ =
-        "uid_ INTEGER PRIMARY KEY AUTOINCREMENT, messageid_ unique,from_,to_,date_,subject_,headers_,body_,flags_";
+        "uid_ INTEGER PRIMARY KEY AUTOINCREMENT, messageid_,from_,to_,date_,subject_,headers_,body_,flags_";
 
     private final int uidValidity;
     private final File file;
@@ -237,6 +237,7 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree {
     }
     public void             insert(Message m, int flags) {
         try {
+            /*
             PreparedStatement query = conn.prepareStatement("select headers_,body_,flags_ from 'mail' where messageid_=?");
             query.setString(1, m.messageid);
             Log.warn("SQL", "select headers_,body_,flags_ from 'mail' where messageid_="+m.messageid);
@@ -260,6 +261,7 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree {
                     return;
                 }
             }
+            */
             PreparedStatement add =
                 conn.prepareStatement("insert "+/*"or replace "+*/"into 'mail' ("+columns+") values (?,?,?,?,?,?,?,?)");
             add.setString(1, m.messageid+"");
@@ -301,9 +303,9 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree {
         public Headers head()   {
             if (m != null) return m.headers;
             try {
-                PreparedStatement query = conn.prepareStatement("select headers_,flags_ from 'mail' where messageid_=?");
-                query.setString(1, rs.getString(1));
-                Log.warn("SQL", "select headers_,flags_ from 'mail' where messageid_="+rs.getString(1));
+                PreparedStatement query = conn.prepareStatement("select headers_,flags_ from 'mail' where uid_=?");
+                query.setString(1, rs.getString(2));
+                Log.warn("SQL", "select headers_,flags_ from 'mail' where uid_="+rs.getString(2));
 
                 ResultSet rs2 = query.executeQuery();
                 if (!rs2.next()) { Log.error("XXX", "should not happen"); return null; }
@@ -314,9 +316,9 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree {
         public Message cur()    {
             try {
                 if (m!=null) return m;
-                PreparedStatement query = conn.prepareStatement("select headers_,body_,flags_ from 'mail' where messageid_=?");
-                query.setString(1, rs.getString(1));
-                Log.warn("SQL", "select headers_,body_,flags_ from 'mail' where messageid_="+rs.getString(1));
+                PreparedStatement query = conn.prepareStatement("select headers_,body_,flags_ from 'mail' where uid_=?");
+                query.setString(1, rs.getString(2));
+                Log.warn("SQL", "select headers_,body_,flags_ from 'mail' where uid_="+rs.getString(2));
 
                 ResultSet rs2 = query.executeQuery();
                 if (!rs2.next()) { Log.error("XXX", "should not happen"); return null; }