Mercurial > kallithea
changeset 6540:0dbf225439ed
admin: apply LOWER() on journal filtering term for suffix/infix matching
Before this revision, LOWER() (via func.lower() of sqlalchemy) isn't
applied on journal filtering term for suffix and infix matching, even
though it is applied for prefix or immediate value matching.
This causes unexpected result with DBMS, which compares strings case-
sensitively by default.
This revision applies LOWER() on journal filtering term for
suffix/infix matching, to filter journal case-insensitively.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 25 Mar 2017 17:35:46 +0900 |
parents | 8d788789b38a |
children | bacc854a3853 |
files | kallithea/controllers/admin/admin.py |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/controllers/admin/admin.py Sun Mar 05 17:06:48 2017 +0100 +++ b/kallithea/controllers/admin/admin.py Sat Mar 25 17:35:46 2017 +0900 @@ -67,12 +67,12 @@ if wc_term.startswith('*') and not wc_term.endswith('*'): #postfix == endswith wc_term = remove_prefix(wc_term, prefix='*') - return func.lower(col).endswith(wc_term) + return func.lower(col).endswith(func.lower(wc_term)) elif wc_term.startswith('*') and wc_term.endswith('*'): #wildcard == ilike wc_term = remove_prefix(wc_term, prefix='*') wc_term = remove_suffix(wc_term, suffix='*') - return func.lower(col).contains(wc_term) + return func.lower(col).contains(func.lower(wc_term)) def get_filterion(field, val, term):