details: https://code.tryton.org/tryton/commit/5bdd4910de98
branch: default
user: Cédric Krier <[email protected]>
date: Wed Jun 24 22:00:10 2026 +0200
description:
Optimize search on account's code
Closes #14910
diffstat:
modules/account/account.py | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diffs (34 lines):
diff -r 0255fea9294b -r 5bdd4910de98 modules/account/account.py
--- a/modules/account/account.py Sat Jul 04 00:17:12 2026 +0200
+++ b/modules/account/account.py Wed Jun 24 22:00:10 2026 +0200
@@ -527,6 +527,7 @@
@classmethod
def __setup__(cls):
+ cls.code.search_unaccented = False
super().__setup__()
if not cls.childs.domain:
@@ -964,11 +965,17 @@
('only_one_debit_credit_types', Check(
table, (table.debit_type + table.credit_type) == Null),
'account.msg_only_one_debit_credit_types'))
- cls._sql_indexes.add(
- Index(
- table,
- (table.left, Index.Range(cardinality='high')),
- (table.right, Index.Range(cardinality='high'))))
+ cls._sql_indexes.update({
+ Index(table,
+ (Coalesce(table.code, ''),
+ Index.Equality(cardinality='high'))),
+ Index(table,
+ (Coalesce(table.code, ''),
+ Index.Similarity(cardinality='high'))),
+ Index(
+ table,
+ (table.left, Index.Range(cardinality='high')),
+ (table.right, Index.Range(cardinality='high')))})
@classmethod
def validate_fields(cls, accounts, field_names):