Hi,
I've checked out dbmail on 30 Nov and found some problems with
postgresql.
When I try to insert a message:
----------------------------------------------------------------------
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [.INSERT INTO physmessage (messagesize, rfcsize,
internal_date) VALUES ('0', '0', '2003-12-01 01:56:55')]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [SELECT currval('physmessages_id_seq')]
Dec 1 01:56:55 debian postgres[15873]: [3] ERROR: Relation
"physmessages_id_seq" does not exist
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c, db_query: Error
executing query [SELECT currval('physmessages_id_seq')] : [ERROR:
Relation "physmessages_id_seq" does not exist ]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [.INSERT INTO messages (mailbox_idnr
, physmessage_id, unique_id, status,seen_flag) VALUES ('1', '0', '',
'001', '1')]
Dec 1 01:56:55 debian postgres[15873]: [4] ERROR: $1 referential
integrity violation - key referenced from message
s not found in physmessage
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c, db_query: Error
executing query [.INSERT INTO messages (mailb
ox_idnr, physmessage_id, unique_id, status,seen_flag) VALUES ('1', '0',
'', '001', '1')] : [.ERROR: $1 referential integrity violation - key
referenced from messages not found in physmessage ]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: db.c,db_imap_append_msg:
could not create message
Dec 1 01:56:55 debian dbmail/imap4d[15868]: ic_append(): error
appending msg
Dec 1 01:56:55 debian dbmail/imap4d[15868]: IMAPClientHandler():
Finished command append
----------------------------------------------------------------------
dbmail tries to access physmessages_id_seq, but there is only a sequence
physmessage_id_seq.
The maintenance task fails:
----------------------------------------------------------------------
# su dbmail -c "/usr/local/sbin/dbmail-maintenance -cfpd"
*** dbmail-maintenance ***
Opening connection to database... Opening connection to
authentication... Ok. Connected
Deleting messages with DELETE status... Ok. [0] messages deleted.
Setting DELETE status for deleted messages... Ok. [0] messages set for
deletion.
Re-calculating used quota for all users... Failed. An error occured.
Please check log.
Dec 1 02:02:14 debian postgres[15990]: [3] ERROR: Attribute
usr.curmail_size must be GROUPed or used in an aggrega
te function
Dec 1 02:02:14 debian dbmail/maintenance[15989]: dbpgsql.c, db_query:
Error executing query [.SELECT usr.user_idnr,
sum(pm.messagesize), usr.curmail_size FROM users usr, mailboxes mbx,
messages msg, physmessage pm WHERE pm.id = msg.physmessage_id AND
msg.mailbox_idnr = mbx.mailbox_idnr AND mbx.owner_idnr = usr.user_idnr
AND msg.status < '2' AND usr.user_idnr <> '0' GROUP BY usr.user_idnr
HAVING sum(pm.messagesize) <> usr.curmail_size] : [.ERROR: Attribute
usr.curmail_size must be GROUPed or used in an aggregate function ]
Dec 1 02:02:14 debian dbmail/maintenance[15989]:
db.c,db_calculate_quotum_all: error finding used quota
----------------------------------------------------------------------
The man page of dbmail-config is still in cvs, the file should probably
be removed.
The first problem led to a inconsistent database (the insert to
physmessage succeeded) - this could be easily solved using transactions.
I found a thread about using transaction on the dbmail list - are there
plans to use transactions for 2.0 ?
Thanks!
--
MfG Thomas Mueller - http://www.tmueller.com for pgp key (95702B3B)
I've checked out dbmail on 30 Nov and found some problems with
postgresql.
When I try to insert a message:
----------------------------------------------------------------------
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [.INSERT INTO physmessage (messagesize, rfcsize,
internal_date) VALUES ('0', '0', '2003-12-01 01:56:55')]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [SELECT currval('physmessages_id_seq')]
Dec 1 01:56:55 debian postgres[15873]: [3] ERROR: Relation
"physmessages_id_seq" does not exist
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c, db_query: Error
executing query [SELECT currval('physmessages_id_seq')] : [ERROR:
Relation "physmessages_id_seq" does not exist ]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c,db_query:
executing query [.INSERT INTO messages (mailbox_idnr
, physmessage_id, unique_id, status,seen_flag) VALUES ('1', '0', '',
'001', '1')]
Dec 1 01:56:55 debian postgres[15873]: [4] ERROR: $1 referential
integrity violation - key referenced from message
s not found in physmessage
Dec 1 01:56:55 debian dbmail/imap4d[15868]: dbpgsql.c, db_query: Error
executing query [.INSERT INTO messages (mailb
ox_idnr, physmessage_id, unique_id, status,seen_flag) VALUES ('1', '0',
'', '001', '1')] : [.ERROR: $1 referential integrity violation - key
referenced from messages not found in physmessage ]
Dec 1 01:56:55 debian dbmail/imap4d[15868]: db.c,db_imap_append_msg:
could not create message
Dec 1 01:56:55 debian dbmail/imap4d[15868]: ic_append(): error
appending msg
Dec 1 01:56:55 debian dbmail/imap4d[15868]: IMAPClientHandler():
Finished command append
----------------------------------------------------------------------
dbmail tries to access physmessages_id_seq, but there is only a sequence
physmessage_id_seq.
The maintenance task fails:
----------------------------------------------------------------------
# su dbmail -c "/usr/local/sbin/dbmail-maintenance -cfpd"
*** dbmail-maintenance ***
Opening connection to database... Opening connection to
authentication... Ok. Connected
Deleting messages with DELETE status... Ok. [0] messages deleted.
Setting DELETE status for deleted messages... Ok. [0] messages set for
deletion.
Re-calculating used quota for all users... Failed. An error occured.
Please check log.
Dec 1 02:02:14 debian postgres[15990]: [3] ERROR: Attribute
usr.curmail_size must be GROUPed or used in an aggrega
te function
Dec 1 02:02:14 debian dbmail/maintenance[15989]: dbpgsql.c, db_query:
Error executing query [.SELECT usr.user_idnr,
sum(pm.messagesize), usr.curmail_size FROM users usr, mailboxes mbx,
messages msg, physmessage pm WHERE pm.id = msg.physmessage_id AND
msg.mailbox_idnr = mbx.mailbox_idnr AND mbx.owner_idnr = usr.user_idnr
AND msg.status < '2' AND usr.user_idnr <> '0' GROUP BY usr.user_idnr
HAVING sum(pm.messagesize) <> usr.curmail_size] : [.ERROR: Attribute
usr.curmail_size must be GROUPed or used in an aggregate function ]
Dec 1 02:02:14 debian dbmail/maintenance[15989]:
db.c,db_calculate_quotum_all: error finding used quota
----------------------------------------------------------------------
The man page of dbmail-config is still in cvs, the file should probably
be removed.
The first problem led to a inconsistent database (the insert to
physmessage succeeded) - this could be easily solved using transactions.
I found a thread about using transaction on the dbmail list - are there
plans to use transactions for 2.0 ?
Thanks!
--
MfG Thomas Mueller - http://www.tmueller.com for pgp key (95702B3B)