Gonçalo Duarte wrote:
> Sorry it's my fault surely...
> 
> I started yesterday reading dbmail 2.2.7 code.
> 
> It has been said to me that the message is stored in one big blob.

Then the person who told you doesn't understand dbmail's storage model
either :-)

> 
> And they asked me to try to store the message info (to, from, cc,
> subject, body, attachments) all in separate fields.
> 
> Am I saying something wrong? Is that possible to do what asked me for?

In dbmail 1.0, 2.0, and 2.2 messages are stored in two (or more blobs):

the first block contains the message headers, the second and following
blocks contain the message body split into parts (since mysql-3 had a
limit on the maximum size of a TEXT field).

In 2.0 the first block (which contains the headers) was marked as such,
so imap had an easier time retrieving and parsing them.

In 2.2 a whole list of new tables were added in order to cache the
headers in a preparsed and normalized form:

dbmail_headername: registers all used header-names (From, To, etc.)
dbmail_headervalue: registers all used header values in the correct
encoding.
dbmail_subjectfield: the base-subject (the raw subject minus all the
forwarding/reply cruft) also in the correct encoding
dbmail_datefield: stores the Date header as a datetime sqlfield
dbmail_referencesfield: the References header
dbmail_fromfield, dbmail_tofield, dbmail_ccfield, dbmail_replytofield:
cache the address fields in a preparsed and correctly encoded form

These caching tables allow better support for searching, while
respecting the charset used in the search command.

In 2.3 (coming soon) the base storagemodel has changed yet again: The
dbmail_messageblks table will be deprecated and replaced by two new
tables: dbmail_mimeparts and dbmail_partlists.

During storage messages are split into their mimeparts and stored as
such (or more to the point: mimeparts are split into header/payload
which are stored separately). Any mimepart that is stored is never
stored more than once in the whole database (something I call
single-instance storage). So receiving the same image or pdf again and
again will not bloat your database, even when sent under another filename.

To sum, most of what you ask for is already present in 2.2. Separate
storage of attachments is in the trunk code, but hasn't been released yet.

-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl
_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://twister.fastxs.net/mailman/listinfo/dbmail-dev

Reply via email to