Another 10% query performance boost.
---
lib/sup/xapian_index.rb | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/lib/sup/xapian_index.rb b/lib/sup/xapian_index.rb
index c260728..3a23951 100644
--- a/lib/sup/xapian_index.rb
+++ b/lib/sup/xapian_index.rb
@@ -74,7 +74,7 @@ class XapianIndex < BaseIndex
m = Message.new :source => source, :source_info => entry[:source_info],
:labels => entry[:labels], :snippet => entry[:snippet]
- mk_person = lambda { |x| Person.new(*x.reverse!) }
+ mk_person = lambda { |x| QuickPerson.new(*x) }
entry[:from] = mk_person[entry[:from]]
entry[:to].map!(&mk_person)
entry[:cc].map!(&mk_person)
@@ -84,6 +84,14 @@ class XapianIndex < BaseIndex
m
end
+ class QuickPerson < Person
+ def initialize email, name
+ raise ArgumentError, "email can't be nil" unless email
+ @email = email
+ @name = name
+ end
+ end
+
def add_message m; sync_message m end
def update_message m; sync_message m end
def update_message_state m; sync_message m end
--
1.6.4
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk