summaryrefslogtreecommitdiff
path: root/Mailman/Archiver/HyperArch.py
diff options
context:
space:
mode:
authorjhylton2000-09-22 18:23:37 +0000
committerjhylton2000-09-22 18:23:37 +0000
commitad4ba52f694b2f026be863ab869b8d7ca83ab03c (patch)
tree81c03da4aaa50d7c20b3f84609889dbc5dec66ed /Mailman/Archiver/HyperArch.py
parentbf6d28c3c757820f428772472379cc8848948a85 (diff)
downloadmailman-ad4ba52f694b2f026be863ab869b8d7ca83ab03c.tar.gz
mailman-ad4ba52f694b2f026be863ab869b8d7ca83ab03c.tar.zst
mailman-ad4ba52f694b2f026be863ab869b8d7ca83ab03c.zip
Fix index generation bug that oocasionally prevented messages from
appearing in index. pipermail generated several indexes by assuming that date was unique. If two messages arrived with, e.g., the same author and date, then the author index treated them as identical. As a result, both messages were archived, but only the last one was included in the index. Solution is to always include the msgid, which is unique, in the index key. Change database keys to combine elements using tuples instead of string concatenation with \000 as separator. Fix was accomplished by refactoring on pipermail.Database and its subclasses. Push index-key generation into common concrete base class Database; rename abstract base class to DatabaseInterface. Break up addArticle method into several pieces. TBD There is still more refactoring to do on Database class. Because date key has changed, HyperDatabase method to return first and last date changed to reflect format of date key. Refactor pipermail.T.add_article into several pieces.
Diffstat (limited to 'Mailman/Archiver/HyperArch.py')
0 files changed, 0 insertions, 0 deletions