Extra info on this:

 

mysql> UPDATE dbmail_messages SET status = 3 WHERE status = 2;

Query OK, 0 rows affected (0.00 sec)

Rows matched: 0  Changed: 0  Warnings: 0

 

mysql> DELETE FROM dbmail_messages WHERE status=3;

Query OK, 1 row affected (0.03 sec)

 

mysql> DELETE dbmail_mimeparts.* FROM dbmail_mimeparts LEFT JOIN
dbmail_partlists ON (dbmail_mimeparts.id=dbmail_partlists.part_id) WHERE
dbmail_partlists.physmessage_id IS NULL;

Query OK, 0 rows affected (13 min 31.80 sec)

 

 

The data on partlists are not being deleted, and I think this is the reason
why messages are not being deleted on function “int
db_icheck_mimeparts(gboolean cleanup)”

 

 

Could this be checked?

 

 

 

From: dbmail-dev-boun...@dbmail.org [mailto:dbmail-dev-boun...@dbmail.org]
On Behalf Of Jorge Bastos
Sent: sábado, 19 de Setembro de 2009 19:07
To: 'DBMAIL Developers Mailinglist'
Subject: [Dbmail-dev] dbmail-util not cleaning messages

 

Paul/Jon,

 

I ask your help on another thing!

 

For sure dbmail-util is not cleaning messages!

I was checking the function on dm_db.c , and after a:

 

dbmail-util -d –y

 

the query:

 

                r = db_query(c, "SELECT p.id FROM %smimeparts p LEFT JOIN
%spartlists l ON p.id = l.part_id "

                                "WHERE l.part_id IS NULL", DBPFX, DBPFX);

 

That is on function:

 

int db_icheck_mimeparts(gboolean cleanup)

 

Doesn’t return any rows, I tested it manually.

 

Has it doesn’t return any rows, the while below this where the messages with
DELETE status are supposed to be deleted by the query:

 

                                db_exec(c, "DELETE FROM %smimeparts WHERE id
= %llu", DBPFX, *(u64_t *)ids->data);

 

It doesn’t.

 

 

Where the error may be?

I must be before this

_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev

Reply via email to