There are other reasons to upgrade to 4.0 aside from the new features.
On 3.23 w/ the latest (as of yesterday) CVS I was getting errors like these:
/var/log/maillog.1-Mar 13 15:01:32 sls-cd7p8 dbmail/imap4d[20655]:
PerformChildTask(): incoming connection from [127.0.0.1]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
COMMAND: [1 capability]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
COMMAND: [2 authenticate login]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]: IMAPD
[PID 20655]: user (id 1, name blake) login accepted @ 2004-03-13 15:01:33^M
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
COMMAND: [3 namespace]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
COMMAND: [4 lsub "" "*"]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
dbmysql.c,db_query: query [.SELECT mbx.name, mbx.mailbox_idnr,
mbx.owner_idnr FROM mailboxes mbx LEFT JOIN acl ON acl.mailbox_id =
mbx.mailbox_idnr JOIN subscription sub ON sub.user_id = '1' AND
sub.mailbox_id = mbx.mailbox_idnr WHERE mbx.owner_idnr = '1' OR
(acl.user_id = '1' AND acl.lookup_flag = '1') GROUP BY mbx.name,
mbx.mailbox_idnr, mbx.owner_idnr] failed
/var/log/maillog.1:Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
dbmysql.c,db_query: mysql_real_query failed: You have an error in your
SQL syntax near 'ON sub.user_id = '1' AND sub.mailbox_id =
mbx.mailbox_idnr WHERE mbx.owner_idnr ' at line 1
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
db.c,db_list_mailboxes_by_regex: error during mailbox query
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
db.c,db_findmailbox_by_regex: error listing mailboxes
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
IMAPClientHandler(): Closing connection for client from IP [127.0.0.1]
/var/log/maillog.1-Mar 13 15:01:33 sls-cd7p8 dbmail/imap4d[20655]:
PerformChildTask(): maximum number of connections reached, stopping now
After upgrading to 4.0.18, these problems disappeared. I think this is
because older mysql doesn't like mixing left and inner joins.
Cheers,
Blake
Aaron Stone wrote:
>Hey,
>
>So I was reading through the sorting code, and realized that the copy of each
>message from the temporary delivery user to the destination user was much more
>expensive than I thought. I have rewritten db_copymsg() to use just 3 queries,
>where it used to be something like 10 queries!
>
>The catch is that MySQL 4.0.14 or higher is required because prior to 4.0.14,
>an INSERT INTO table1 ... SELECT FROM table2, where table1 == table2, was not
>allowed. All versions of PostgreSQL support this SQL92 compliant query, though.
>
>IMHO, this is a really important feature and it is well worth excluding those
>earlier MySQL versions to get support for it; Ilja, is that OK with you?
>
>Aaron
>_______________________________________________
>Dbmail-dev mailing list
>Dbmail-dev@dbmail.org
>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
>
>