On Wed, May 30, 2007, Paul J Stevens <[EMAIL PROTECTED]> said: > Peter Rabbitson wrote: >> Peter Welzien wrote: >>> Hi. I'm writing a webmail application that works directly with the >>> SQL-server. >> >> Actually a question to the authors: Paul, Aaron, are you as religious >> about the DBMail internals as Wietse Venema is about the postfix queue? :)
Along a stable branch we don't change the tables because that creates nightmares for everyone. So you can be sure that we won't change the schema syntactically. You cannot be sure that we don't fix incorrectly encoded data or other semantic mistakes with specific columns being used wrong, which might lead to some subtle bugs in your client. > Well, I've been known to speak in tongues on this list from time to > time. Does that count? > >> Joking aside - is the internal format considered stable enough that such >> applications are safe to use, and do not risk destroying some >> inter-table dependencies? If so (it is stable) is it documented >> somewhere/are there plans on documenting it? > > There have been some discussions about cleaning up and normalizing the > table and column names. That was meant to accomodate rails developers. > But not in 2.2. That is for new branches only. If you're planning on > using a ORM toolkit, make sure you don't hardcode the tables/fields all > over the place. > > Other than naming, there are very few plans to expand into new tables. > The cplog patch (for tracking movement of messages accross mailfolders) > shows promise, so in general; new tables are likely during the 2.3 > cycle. There is also some work in the pipeline to decouple message flags > from the messages table. That will allow us to use different flags for > the same message when accessed by different users. > > That's about all I can think of right now. The one major big-bang change we've talked about in the past has been separating out message parts and storing each one in its own block, with a separate table keeping track of the overall mime structure. If we do folder annotations we'll have at least one serious new table. If we do this at the same time as splitting up the folder and message flags, we can put it all in the same table as key-value rows rather than discrete columns. I also really like the idea of running Sieve scripts at various points in the delivery chain, with some scripts belonging to the site admin, some to the client admin, etc. This will probably require one or two additional columns someplace. Aaron _______________________________________________ DBmail mailing list [email protected] https://mailman.fastxs.nl/mailman/listinfo/dbmail
