[Mailman-Developers] Requirements for a new archiver

Brad Knowles brad.knowles at skynet.be
Wed Oct 29 14:11:49 EST 2003


At 1:30 PM -0500 2003/10/29, J C Lawrence wrote:

>  Right, and I'm not arguing that.  My point is two fold:
>
>    1) Using Message ID as a primary key is attractive.

	Agreed.

>    2) Message IDs are not guaranteed globally unique, but the collision
>    rate can be manageable/acceptable in a large number of deployment
>    cases.

	Outside of a database, this may be something you can decide 
whether or not to live with.  Within the confines of a database, this 
simply is not possible.


	The ANSI SQL specification has some hard requirements for a 
primary index key:

		1.  It cannot ever be null.

		2.  It must always be guaranteed unique.

	I'm sure there are other requirements.  But these two are a good start.

>  We don't have to guarantee key uniqueness for all messages BEFORE they
>  are submitted to the message store.

	All other keys could potentially be non-unique, or null, but not 
the primary index key.  This is why many applications have the 
database assign the primary index key itself on insertion into the 
table, so that all the necessary requirements can be met.

>  I'm neither an idiot or a neophyte in this game.  Yes, a database needs
>  a primary unique key.

	Then you must realize that we could not possibly use message-id 
as the primary index key, unless this is a field that we generate 
ourselves in such a way that all the necessary requirements are met.

>  Rotely assuming that Mailman must guarantee key uniqueness before we hit
>  the message store is not a given, its a choice.

	The message-id is not necessarily the primary index key.  See above.

	With regards to a primary index key, there simply is no choice. 
The message-id could continue to be one of the many secondary index 
keys, which is a totally different issue.

>  Let's at least be on the same page.

	Agreed.

-- 
Brad Knowles, <brad.knowles at skynet.be>

"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
     -Benjamin Franklin, Historical Review of Pennsylvania.

GCS/IT d+(-) s:+(++)>: a C++(+++)$ UMBSHI++++$ P+>++ L+ !E-(---) W+++(--) N+
!w--- O- M++ V PS++(+++) PE- Y+(++) PGP>+++ t+(+++) 5++(+++) X++(+++) R+(+++)
tv+(+++) b+(++++) DI+(++++) D+(++) G+(++++) e++>++++ h--- r---(+++)* z(+++)



More information about the Mailman-Developers mailing list