Bug 45856

Summary: Некорректное поведение при названии Имени поля в LibreOffice base
Product: Sisyphus Reporter: Pavel Shilov <shilovps>
Component: LibreOffice-stillAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: cas
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
screen
none
Ошибка при сохранении none

Description Pavel Shilov 2023-04-13 17:52:09 MSK
Created attachment 12958 [details]
screen

Произвел тестирование на платформах обновленных до Сизифа:
* alt-education-10.1-x86-64
* alt-education-10.1-x86-64-kde
* alt-kworkstation-10.1-x86-64
* alt-server-10.1-x86-64
* alt-workstation-10.1-x86-64

Версия пакетов:
* LibreOffice-sdk-7.5.1.1-alt1.x86_64
* LibreOffice-extensions-7.5.1.1-alt1.x86_64
* LibreOffice-langpack-ru-7.5.1.1-alt1.x86_64
* LibreOffice-common-7.5.1.1-alt1.x86_64
* LibreOffice-gtk3-7.5.1.1-alt1.x86_64
* LibreOffice-integrated-7.5.1.1-alt1.x86_64

1 Первичная настройка 
# apt-get remove mariadb-server
# rm -rf /var/lib/mysql
# apt-get install mariadb-server
# control mysqld server
# systemctl enable --now mysqld
# mysql << EOF
CREATE DATABASE movies;
USE movies ;
CREATE TABLE Actors (ActorId INT NOT NULL AUTO_INCREMENT, ActorName VARCHAR(255) NOT NULL, PRIMARY KEY (ActorId));
EOF


2 Установка необходимые компоненты и создать тестовую базу:
# apt-get install mariadb-server mysql-connector-java -y && control mysqld server && systemctl enable --now mysqld && sleep 5 && mysql << EOF
CREATE DATABASE movies;
USE movies ;
CREATE TABLE Actors (ActorId INT NOT NULL AUTO_INCREMENT, ActorName VARCHAR(255) NOT NULL, PRIMARY KEY (ActorId));
EOF

3 Настройка LibreOffice:
* Сервис - Параметры - Расширенные возможности - Путь класса...
* Добавить архив... - /usr/share/java/mysql-connector-java.jar - Открыть. - ОК - ОК
* Перезапустить LibreOffice.
* Создать базу данных:
1. Файл -> Создать -> Базу данных
2. Выбор базы данных - Соединиться с существующей базой данных - MySQL - Далее.
3. Соединение через JDBC.
4. Имя базы данных: movies
   Сервер: localhost
   Порт: 3306
* Класс драйвера MySQL JDBC - com.mysql.jdbc.Driver - Нажать Тест класса.
* Настройка аутентификации пользователей
   Имя пользователя: root
   Оставить пустым поле Требуется пароль
   Тест подключения.
* Сохранить и выполнить - Готово - Сохранить базу данных.

4 Нажать Создать таблицу в режиме дизайна
5 Нажать ПКМ по Имя поля -> Вставить Emoji

Ожидаемый результат:
Подменю Вставить Emoji неактивно

Фактический результат:
Есть возможность вставить смайлик в название столбца, при сохранении таблицы выводится ошибка 
Состояние SQL: HY000
Код ошибки: 1300
Invalid utf8mb3 character string: '\xF0\x9F\x98\x80\xEF\xB8\x8F' at /usr/src/RPM/BUILD/libreoffice-7.4.2.3/connectivity/source/drivers/jdbc/Object.cxx:173
Comment 1 Pavel Shilov 2023-04-13 17:52:45 MSK
Created attachment 12959 [details]
Ошибка при сохранении