levels-ranks-core
levels-ranks-core copied to clipboard
UnusualKills: charset error
При работе с релизным ядром 3.1.6 после установки его и модулей на чистую базу порой возникают подобные ошибки:
[levels_ranks/levelsranks_unusualkills.smx] SQL_Callback: error when sending the request (339) - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='.
Как их исправлять, ума не приложу. На одном из форумов человек решил проблему так, но, судя по исходнику модуля, они и так заключаются в правильные кавычки.
SM - 1.10.0.6490
MySQL - 5.5.68-MariaDB-cll-lve - MariaDB Server
"lr_db_character_type" "0"
Меня смущает, что при "lr_db_character_type" "0" такое возможно. Смотря на код и на результаты тестов исполнения ядром построения структуры в БД, при значении 0 у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравнения utf8_general_ci или utf8mb4_general_ci, а не utf8_unicode_ci, как описывает ошибка.
Если стоит значение 1 у "lr_db_character_type", то да, модуль UnusualKills не смотрит на эту настройку, чтобы выставить у себя же у колонки SteamID тип Сравнения utf8_unicode_ci, и в этом случае возможна такая ошибка.
Меня смущает, что при
"lr_db_character_type" "0"такое возможно. Смотря на код и на результаты тестов исполнения ядром построения структуры в БД, при значении0у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравненияutf8_general_ciилиutf8mb4_general_ci, а неutf8_unicode_ci, как описывает ошибка.
Как есть. Не знаю даже, в какую сторону копать
Вернуть хотя б что ли возможность временно 3.1.5 юзать, ибо даже пункты в меню не открываются у модулей необычных убийств и статистики карт. Я понимаю, что никто не хочет толком заниматься LR. У разработчиков нашлось свободное время, разработчики обновили, но ведь и дальше нужны критически важные исправления.
Может, всё-таки, есть какие-то идеи по тому, как исправить это? Может, есть смысл организовать крауд на обновление, если просто так LR отнимает ценное время?
при значении
0у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравненияutf8_general_ciилиutf8mb4_general_ci, а неutf8_unicode_ci, как описывает ошибка.
И, кстати, в таблицах модулей стоит utf8_general_ci
https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154
Именно это поломало аддоны. @Wend4r будут какие-то фиксы? И данная проблема охватывает не только этот модуль.
https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154
@Wend4r будут какие-то фиксы?
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61
https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154
@Wend4r будут какие-то фиксы?
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61
Так причем тут это, если сопоставление не зависит от значения данного параметра в конфиге?
https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154
@Wend4r будут какие-то фиксы?
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129
https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61
Так причем тут это, если сопоставление не зависит от значения данного параметра в конфиге?
Значит это проблема модуля, который не адаптирован под опциональный unicode. Сопоставление и играет роль в данной проблеме, что в 2-ух разных таблицах ядра и модуля отличается кодировка у столбцов
Тогда будет фикс модулей?