From b99b78d5717429b5c1380cfe6f13fe8d55d5c8b1 Mon Sep 17 00:00:00 2001 From: adam Date: Sat, 1 Mar 2008 07:44:50 +0000 Subject: [PATCH] improved implementation of head() for SqliteMailbox darcs-hash:20080301074450-5007d-74b9c19dbf4b1e760d4f5110b662106c0d55994d.gz --- src/org/ibex/mail/SqliteMailbox.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/org/ibex/mail/SqliteMailbox.java b/src/org/ibex/mail/SqliteMailbox.java index 2987831..5f23706 100644 --- a/src/org/ibex/mail/SqliteMailbox.java +++ b/src/org/ibex/mail/SqliteMailbox.java @@ -298,6 +298,19 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree { rs = query.executeQuery(); } catch (Exception e) { throw new RuntimeException(e); } } + 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)); + + ResultSet rs2 = query.executeQuery(); + if (!rs2.next()) { Log.error("XXX", "should not happen"); return null; } + flags = rs2.getInt(2); + return new Headers(Fountain.Util.create(rs2.getString(1))); + } catch (Exception e) { throw new RuntimeException(e); } + } public Message cur() { try { if (m!=null) return m; @@ -328,7 +341,6 @@ public class SqliteMailbox extends Mailbox.Default implements MailTree { update.executeUpdate(); } catch (Exception e) { throw new RuntimeException(e); } } - public Headers head() { return cur().headers; } public boolean next() { try { m = null; uid = -1; count++; boolean ret = rs.next(); -- 1.7.10.4