Mailing List Archive

[MythTV/mythtv] aa683b: Plugins/dbcheck: Replace CHARACTER SET 'default' w...
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: aa683ba5b99815a1197c3380de6c3d992d4f651e
https://github.com/MythTV/mythtv/commit/aa683ba5b99815a1197c3380de6c3d992d4f651e
Author: Bill Meek <billmeek@mythtv.org>
Date: 2021-01-17 (Sun, 17 Jan 2021)

Changed paths:
M mythplugins/mytharchive/mytharchive/archivedbcheck.cpp
M mythplugins/mythgame/mythgame/gamedbcheck.cpp
M mythplugins/mythmusic/mythmusic/musicdbcheck.cpp
M mythplugins/mythweather/mythweather/weatherdbcheck.cpp
M mythtv/bindings/python/MythTV/static.py

Log Message:
-----------
Plugins/dbcheck: Replace CHARACTER SET 'default' with 'utf8'

Fix required for MySQL v8 because using 'default' CHARACTER
SET results in a "You have an error in your SQL syntax"
message.

There are two issues to solve.

1. New systems that will execute the DBSchemaVer changes
for the mytharchive, mythgame, mythmusic & mythweather
plugin tables.

2. Existing systems that have up to date DBSchemaVer for
the above but need a new version to use the unambiguous
character set. So

Note that the 'old' DBSchemaVers were changed in 2/2020 to:
ArchiveDBSchemaVer
GameDBSchemaVer
MusicDBSchemaVer
WeatherDBSchemaVer

Tested with: MySQL 5.7.30 and 8.0.20, MariaDB 10.3.22 and
10.4.13.

Using utf8 is only going to be a temporary solution because
MySQL v8 issues this warning when doing the ALTER TABLEs in
the fix:

Warning | 3719 | 'utf8' is currently an alias for the
character set UTF8MB3, but will be an alias for UTF8MB4
in a future release. Please consider using UTF8MB4 in
order to be unambiguous.

Modified version of: https://forum.mythtv.org/viewtopic.php?p=17769#p17769

To see current character sets:

SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA
WHERE SCHEMA_NAME='mythconverg';

SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION FROM INFORMATION_SCHEMA.`TABLES`
WHERE TABLE_SCHEMA='mythconverg';

SELECT TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.`COLUMNS`
WHERE TABLE_SCHEMA='mythconverg' AND CHARACTER_SET_NAME != 'utf8';

Closes #trac-13577


_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-commits