имеет тип UInt32, записываются отрицательные значения. Ошибка при этом не выпадает.
при записи в таблицу результатов select-а, полученных из источника по odbc из SQL Server 2017 данные получаются следующие (было-стало):.
-3 —> 4294967292
-10 —> 4294967285
-1 —> 4294967294
Вместо того, чтобы выкинуть исключение в таблицу пишется разность максимального значения для типа (UInt32) и получаемой из запроса отрицательного значения.
Версия 22.4.5.9
так и должно быть by design. silent overflow. во всех типах.
каким языком библиотекой вставляете?
ну смотрите внутрь вашего python кода проверьте что перед вставкой в clickhouse число правильного типа стоит. а не переполняется до вставки в clickhouse потом все таки скажите драйвер которым пользуетесь и сделайте таблицу с одним полем и вставьте туда одну строку... посмотрите что получилось... зарепортите багу автору python драйвера
Спасибо, разобрались. Коллега выше подсказал, что это на самом деле стандартная работа логики Кликхауса по умолчанию.
ну да, если библиотека не делает overflow, то это сделает сам clickhouse и в бинарном и в текстовых форматах и протоколах вставки
Обсуждают сегодня