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
[email protected]
http://twister.fastxs.net/mailman/listinfo/dbmail-dev