Issue 2550868
Created on 2015-02-10 02:39 by jerrykan, last changed 2015-03-06 03:27 by jerrykan.
msg5209 |
Author: [hidden] (jerrykan) |
Date: 2015-02-10 02:39 |
|
The 'testFilteringSpecialChars (test.test_mysql.mysqlDBTest)' test fails
when the mysql server is configured with the following:
[mysqld]
collation_server = utf8_unicode_ci
This seems to be because the backslash escaping behaves different.
The following generated SQL seems to work fine normally:
select _issue.id from _issue where (_issue._title LIKE "%\\\\%" ESCAPE
"\\") and _issue.__retired__=0 order by _issue.id
but when 'collation_server = utf8_unicode_ci' the query needs to be
changed to the following to work:
select _issue.id from _issue where (_issue._title LIKE "%\\\\\%"
ESCAPE "\\") and _issue.__retired__=0 order by _issue.id
(note the extra backslash in the LIKE)
|
msg5210 |
Author: [hidden] (jerrykan) |
Date: 2015-02-10 04:33 |
|
Seems to be related to:
http://bugs.mysql.com/bug.php?id=63829
|
msg5211 |
Author: [hidden] (jerrykan) |
Date: 2015-02-10 07:05 |
|
Attached is a patch that attempts to work around the issue, but also
breaks some other tests (testFilteringSpecialChars for 'memorydb' and
'anydbm'). I think these broken tests are more of reflection of
short-comings with these backends exposed by the extra testing
performed, rather than the changes to the actual code.
In any case I'm am not certain there is a whole lot of value in pushing
these changes given the rather specific mysql setting that needs to be
configured to trigger it.
In any case I'll leave this patch here in case someone requires it for
their environment.
|
|
Date |
User |
Action |
Args |
2015-03-06 03:27:05 | jerrykan | set | status: new -> closed resolution: wont fix |
2015-02-10 07:05:01 | jerrykan | set | keywords:
+ patch files:
+ issue2550868.patch messages:
+ msg5211 |
2015-02-10 04:33:36 | jerrykan | set | messages:
+ msg5210 |
2015-02-10 02:39:39 | jerrykan | create | |
|