Closed hatenaki closed 5 years ago
Проблема связана с JSON парсером gason - при парсинге JSON все number переводятся в число с плавающей точкой с потерей точности. В версии reindexer v1.10.4 - починим.
Спасибо за доработки в новой версии! Проблема некорректного сохранения решена. Однако при использовании face проблема преобразования проявляется по прежнему, что делает неприемлемым использование столь удобного инструмента для ручного добавления и изменения данных. Критичность проблемы относительно низкая, тем не менее хочется увидеть ее фикс в будущих версиях.
Тут уже малой кровью ничего не сделаешь. Стандарт EMCA обещает сохранение точности в JavaScript только до 2^53 https://stackoverflow.com/questions/307179/what-is-javascripts-highest-integer-value-that-a-number-can-go-to-without-losin
При попытке сохранить большое по модулю отрицательное int64 значение через http API, используя update методом PUT, в документ сохраняется неверное значение. Сериализация в json на стороне клиента API точно происходит без ошибок. Примеры: сохраняем -9223372036854775756, получаем -9223372036854776000; сохраняем -4611686018427387852, получаем -4611686018427388000.