Roundup Tracker - Issues

Issue 2551216

classification
Add COLLATE utf8_general_ci when creating mysql databases.
Type: crash Severity: major
Components: Database Versions: 2.2.0
process
Status: fixed fixed
:
: rouilj : rouilj
Priority: high :

Created on 2022-07-10 19:42 by rouilj, last changed 2022-07-10 19:52 by rouilj.

Messages
msg7604 Author: [hidden] (rouilj) Date: 2022-07-10 19:42
The travisci config edits back_mysql.py adding:

  COLLATE utf8_general_ci

to avoid the crash reported on three tests:

 mysqlIndexerTest.test_unicode:

  OperationalError: (1366, "Incorrect string value: '\\xD0\\xA2\\xD0\\x95\\xD0\\x9A...' for 
column '_word' at row 1")
   
 mysqlDBTest.testFilteringStringExactMatch and mysqlRestTest.testGetExactMatch:
  OperationalError: (1253, "COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1'")

AFAICT it has no effect on existing databases and also seems to not be required when running
under python3. I am not sure why this is true. I can't find anything in the release notes
(https://dev.mysql.com/doc/relnotes/connector-python/en/) that seems to explain this.
This change does pass with python3.

So I am putting it in the 2.2.0 release.

Also reverting the travisci hotfix.
msg7605 Author: [hidden] (rouilj) Date: 2022-07-10 19:52
The .travisci entry note indicates that this is a workaround for:

  http://bugs.mysql.com/bug.php?id=74901

which was fixed in 2018 in mysql 8.0.1 but I am running 14.14 and CI is running something 
similarly new so...

modification in changeset:   6760:38e0fc1c7f11
History
Date User Action Args
2022-07-10 19:52:59rouiljsetstatus: new -> fixed
resolution: fixed
messages: + msg7605
2022-07-10 19:42:56rouiljcreate