I have created a test case and a patch to fix the problem. Both are in
the attached TAR file. The test case fails with an unpatched roundup,
and succeeds with a patched roundup.
Please take a look to see if this looks OK to you. There are many ways
to fix this problem - I picked one.
I applied the patch to version 1.4.21. If you want it applied to another
version let me know.
Here is an overview of the fix:
test/db_test_base.py.diff
Added the test case testFilteringStringCase.
roundup/backends/back_postgresql.py.diff
Added an override for the method insensitive_like in the Class
class that uses ILIKE.
roundup/backends/rdbms_common.py.diff
Defined the method insensitive_like in the CLASS class that uses LIKE.
Changed the string case in _filter_sql to call the method
insensitive_like instead hardcoding 'LIKE'. |