Hi

Well, i think, I understand, what is the problem. I have 3 messages
without entries in dbmail_headervalue:



mysql> select p.id from dbmail_physmessage p LEFT JOIN
dbmail_headervalue h ON p.id = h.physmessage_id WHERE h.physmessage_id
IS NULL;
+------+
| id   |
+------+
| 3335 |
| 7446 |
| 7503 |
+------+
3 rows in set (0.06 sec)


So, dbmail tryes to create them. But this messages are very small and do
not have date field:

mysql> select * from dbmail_physmessage where id=3335;
+------+-------------+---------+---------------------+
| id   | messagesize | rfcsize | internal_date       |
+------+-------------+---------+---------------------+
| 3335 |          12 |       2 | 2007-11-07 13:50:41 |
+------+-------------+---------+---------------------+
1 row in set (0.00 sec)

mysql> select * from dbmail_physmessage where id=7446;
+------+-------------+---------+---------------------+
| id   | messagesize | rfcsize | internal_date       |
+------+-------------+---------+---------------------+
| 7446 |          12 |       2 | 2008-12-05 11:35:44 |
+------+-------------+---------+---------------------+
1 row in set (0.00 sec)

mysql> select * from dbmail_physmessage where id=7503;
+------+-------------+---------+---------------------+
| id   | messagesize | rfcsize | internal_date       |
+------+-------------+---------+---------------------+
| 7503 |          11 |       2 | 2008-12-08 15:17:20 |
+------+-------------+---------+---------------------+

But dbmail_message_cache_datefield tryes to insert default value, if
there is no date field:

 if (! (value = (char *)dbmail_message_get_header(self,"Date")))
                date = (time_t)0;

which is '1970-01-01 00:00:00'.

But there is such an entry already, so it fails.

How can I workadound this easely? Is this an old known bug?
-- 
Best regards, Sergey Spiridonov

_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to