Rather than serializing a Hashtable to disk to track changes in Evolution
commitbb45294919ab7b54f43ab8321f1d67070db6c8fa
authorjoeshaw <joeshaw>
Fri, 15 Dec 2006 22:37:59 +0000 (15 22:37 +0000)
committerjoeshaw <joeshaw>
Fri, 15 Dec 2006 22:37:59 +0000 (15 22:37 +0000)
tree60a3703e12f9be2a574643bc63a15fc41885448c
parenta8ad8ba622b1c751eda74ca2f50df420ac9d87f9
Rather than serializing a Hashtable to disk to track changes in Evolution
mail summaries, which is incredibly memory inefficient for large numbers
of folders or messages, use a simple sqlite database instead.  This fixes
one of the biggest and longest standing memory hotspots in beagle.

Also add some code to our SqliteClient fork to rethrow exceptions from
sqlite_step() with the error message from sqlite_finalize().  This helped
me track down a problem in which I wasn't releasing a client and was
getting "database locked" errors.
beagled/EvolutionMailDriver/EvolutionMailIndexableGenerator.cs
beagled/EvolutionMailDriver/EvolutionSummaryTracker.cs [new file with mode: 0644]
beagled/LuceneQueryable.cs
beagled/Makefile.am
beagled/Mono.Data.SqliteClient/SqliteCommand.cs