From d4def3771b32236d3b87335cd94a918d9d976802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 16 Apr 2013 15:22:55 +0200 Subject: [PATCH] SUBSTR doesn't allow negative length issue3150 review793002 --- trytond/ir/translation.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/trytond/ir/translation.py b/trytond/ir/translation.py index 3f87940f3f..5b92df8e30 100644 --- a/trytond/ir/translation.py +++ b/trytond/ir/translation.py @@ -144,7 +144,10 @@ class Translation(ModelSQL, ModelView): def search_model(cls, name, clause): cursor = Transaction().cursor cursor.execute('SELECT id FROM "%s" ' - 'WHERE SUBSTR(name, 1, POSITION(\',\' IN name) - 1) %s %%s' % + 'WHERE SUBSTR(name, 1, ' + 'CASE WHEN POSITION(\',\' IN name) > 0 ' + 'THEN POSITION(\',\' IN name) - 1 ' + 'ELSE 0 END) %s %%s' % (cls._table, clause[1]), (clause[2],)) return [('id', 'in', [x[0] for x in cursor.fetchall()])]