From: Brad Templeton (brad@templetons.com)
Date: Tue Mar 07 2000 - 13:24:46 CST
It is not necessary for duplicates or in-place updates to be possible
to make supersede chains work.
Don't forget, they are only used when an attempt is made to fetch
an article by message-id, (for example one is moving up to the parent in
a thread using one's newsreader) and the article is found to be no
longer present.
This is not a common situation. It is not necessary that the article
be fetched with maximum speed.
For example, it is not unreasonable to simply follow the full chain
to find the final successor. If the chain is in the history file
one follows it there.
If serial numbers are sequential, one can find the current serial number
through a modified binary search assured to take no more than a limited
number of hops through the database.
Neither of these requires a history database that can be modified, or
one that can have duplicates.
Duplicates or modification of records make it an efficient one-fetch
operation, but don't sweat it if your design doesn't support this.