[issue2551216] Add COLLATE utf8_general_ci when creating mysql databases.

John Rouillard <[email protected]> Sun, 10 Jul 2022 19:42:56 +0000
Newsgroups gmane.comp.bug-tracking.roundup.devel
Message-ID <[email protected]>
New submission from John Rouillard:

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.

----------
assignee: rouilj
components: Database
messages: 7604
nosy: rouilj
priority: high
severity: major
status: new
title: Add COLLATE utf8_general_ci when creating mysql databases.
type: crash
versions: 2.2.0

_________________________________________________
Roundup tracker <[email protected]>
<https://issues.roundup-tracker.org/issue2551216>
_________________________________________________