Bugs and Suggestions

Here you can vote for ideas by projects. You can add your ideas to any open project from the project's page.

Спасибо!

Мы очень рады, что Вам нравится данный проект и вы проголосовали за его развитие.

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Back

Добавить возможность обмена бинарными данными с предобработкой пользовательским кодом

Added by: 2025-01-17 13:18:50 ibax / Status: New / Project: Дополнение MQTT

Поля VALUE в таблицах mqtt имеют тип varchar, что вызывает ошибку если в топике бинарные данные (в моем случае - сериализованные при помощи Google Protocol Buffer):

1366: Incorrect string value: '\xAF\x010\xBE\x01B...' for column db_terminal.mqtt.VALUE at row 1
UPDATE mqtt SET TITLE='cabinet/RL3T062401000056/report/10', LOCATION_ID='0', UPDATED='2025-01-17 08:01:00', VALUE= 2(▒0▒B\rRL3.TM.06.M12JffR897010262726429890FFX', PATH='cabinet/RL3T062401000056/report/10', LINKED_OBJECT='', LINKED_PROPERTY='', PATH_WRITE='', QOS='0', RETAIN='0', DISP_FLAG='0', REPLACE_LIST='', LINKED_METHOD='', READONLY='0', ONLY_NEW_VALUE='0', WRITE_TYPE='0', LOGGING='0' WHERE ID = '140'
Backtrace:

0 /var/www/html/lib/mysqli.class.php(393): registerError()

1 /var/www/html/lib/mysqli.class.php(182): mysql->Error()

2 /var/www/html/lib/mysqli.class.php(283): mysql->Exec()

3 /var/www/html/lib/sqlFunctions.class.php(134): mysql->Update()

4 /var/www/html/modules/mqtt/mqtt.class.php(497): SQLUpdate()

5 /var/www/html/modules/mqtt/mqtt.class.php(712): mqtt->processMessage()

6 /var/www/html/api.php(457): mqtt->api()

7 {main}

Для работы с такими данными желательно поменять тип полей VALUE во всех связанных с MQTT таблицах и добавить возможность
предобработки данных (PHP код) перед записью их в слинкованные свойства.

+1
 
Discuss (3)