Mailing List Archive

dbmail unique ids and a bit of qmail touch
Hi guys,

it has been sometime since a posted my last message about the problem with redundancy,
also I should not call it `a problem` but a step forward.

What I was thinking about is to assign a different block of ids per server and table,
something like:
table seqsync {
SequenceId
SequenceServerId
SequenceName
TableName
TableSequenceFactor }

this way we should stay away from auto_increment in general which is a good thing.
However this table must not be replicated or if it does it has to be design more
granularly, but that's something that I'm thinking about right now.

Basically the whole thing will implement a function get_sequence() with sequence_last_id()
and others, using it some of the mysql function like mysql_insert_id() (pgsql too) can
be replaced also it will add some functionality for more consistent checks(like db
integrity and so).
Also if this is going to get in, it's good to wrap all inserts and updates in transactions
since mysql4 looks a bit better, however this might slow down the performance but it will
keep the database more consistent, also it's a step forward where users would be able to
use pgsql-r (which is still in development, but where everything is based on
transactions).
Also having a different sequence table will give us a good functionality for accepting new
servers into the group by reassigning block of unique IDs for it, the whole idea is
about implementing the ability to customize the group while it's live without having to
restart dbmail, however i still havent worked it out how to customize dynamically mysql
replication though.

q: is there any replication functionality in the C API for mysql?

About qmail, have anyone tried hacking qmail-sql to use dbmail table set?
I was thinking about modifying qmail-local to use the db rather than storing the mails
on the filesystem, however having the ability to store them on a filesystem when the db is
down or in the the case when all the servers are unreachable (with this example i have in
mind that dbmail has redundancy and is able to connect to > 1 db server) would be a good
thing.
Anyway I'm doing it bit by bit now, shame i dont have that much time..


any ideas about unique names and so?

cheers

--

Lou Kamenov AEYE R&D lou.kamenov@aeye.net
FreeBSD BGUG http://www.FreeBSD-bg.org lou@FreeBSD-bg.org
Secureroot UK http://secureroot.org.uk phayze@secureroot.org.uk
Key Fingerprint - 936F F64A AD50 2D27 07E7 6629 F493 95AE A297 084A
One advantage of talking to yourself is that you know at least
somebody's listening. - Franklin P. Jones