From 05be66a4163ab062ca0932b367d6ef452e5b9dcd Mon Sep 17 00:00:00 2001 From: Florent de Labarre Date: Tue, 16 Jan 2024 13:07:18 +0100 Subject: [PATCH] [FIX] mail: time to unlink record is so long MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In large database, the time to unlink a sale.order (or any record with mail.thread) can be take 1 seconde. After it is so fast. closes odoo/odoo#149296 X-original-commit: 6bd9f408a18c019416b5bd981de50b54432f5690 Signed-off-by: Sébastien Theys (seb) --- addons/mail/models/discuss/discuss_channel_member.py | 4 ++-- addons/snailmail/models/snailmail_letter.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/mail/models/discuss/discuss_channel_member.py b/addons/mail/models/discuss/discuss_channel_member.py index 0f943a665e7..7baafc8f375 100644 --- a/addons/mail/models/discuss/discuss_channel_member.py +++ b/addons/mail/models/discuss/discuss_channel_member.py @@ -26,8 +26,8 @@ class ChannelMember(models.Model): channel_id = fields.Many2one("discuss.channel", "Channel", ondelete="cascade", required=True) # state custom_channel_name = fields.Char('Custom channel name') - fetched_message_id = fields.Many2one('mail.message', string='Last Fetched') - seen_message_id = fields.Many2one('mail.message', string='Last Seen') + fetched_message_id = fields.Many2one('mail.message', string='Last Fetched', index="btree_not_null") + seen_message_id = fields.Many2one('mail.message', string='Last Seen', index="btree_not_null") message_unread_counter = fields.Integer('Unread Messages Counter', compute='_compute_message_unread', compute_sudo=True) fold_state = fields.Selection([('open', 'Open'), ('folded', 'Folded'), ('closed', 'Closed')], string='Conversation Fold State', default='open') is_minimized = fields.Boolean("Conversation is minimized") diff --git a/addons/snailmail/models/snailmail_letter.py b/addons/snailmail/models/snailmail_letter.py index 4b3373479f1..35b8fdba399 100644 --- a/addons/snailmail/models/snailmail_letter.py +++ b/addons/snailmail/models/snailmail_letter.py @@ -43,7 +43,7 @@ class SnailmailLetter(models.Model): default=lambda self: self.env.company.id) report_template = fields.Many2one('ir.actions.report', 'Optional report to print and attach') - attachment_id = fields.Many2one('ir.attachment', string='Attachment', ondelete='cascade') + attachment_id = fields.Many2one('ir.attachment', string='Attachment', ondelete='cascade', index='btree_not_null') attachment_datas = fields.Binary('Document', related='attachment_id.datas') attachment_fname = fields.Char('Attachment Filename', related='attachment_id.name') color = fields.Boolean(string='Color', default=lambda self: self.env.company.snailmail_color) @@ -63,7 +63,7 @@ class SnailmailLetter(models.Model): reference = fields.Char(string='Related Record', compute='_compute_reference', readonly=True, store=False) - message_id = fields.Many2one('mail.message', string="Snailmail Status Message") + message_id = fields.Many2one('mail.message', string="Snailmail Status Message", index='btree_not_null') notification_ids = fields.One2many('mail.notification', 'letter_id', "Notifications") street = fields.Char('Street')