diff options
author | kmokrov <kmokrov@yandex-team.com> | 2025-01-13 10:42:43 +0300 |
---|---|---|
committer | kmokrov <kmokrov@yandex-team.com> | 2025-01-13 11:00:53 +0300 |
commit | 0d889d18a3973ff93acb4946edfa61861add504a (patch) | |
tree | eb2b2b33b83ed6ff03632f9b43e193483cb44d41 | |
parent | 01ab9e61cd232947ccaf6fdc5cf1b5fb5c5df4e1 (diff) | |
download | ydb-0d889d18a3973ff93acb4946edfa61861add504a.tar.gz |
YTORM-843: Change utf8_check config default
- В ORM давно поддержана функциональность по проверке всех строковых полей на то, что они действительно UTF8 (согласно спецификации протобуфа именно такими они и должны быть, только вот сам он этого не проверяет). Раньше дефолт для всех ORM-ов был - `не проверять`, сейчас я меняю дефолт на `кидать исключение`, а всем существующим ORM-ам, где ранее проверка не была включена, устанавливаю старое значение в статический конфиг, чтобы после этого ПРа у них всё было, как раньше.
- Если вы захотите включить у себя эту валидацию, то перед этим прочитайте документацию YTORM/Подробное_описание/Хранимые_типы/Особенности валидации строк, там написано, что надо проделать, чтобы включение ничего не разломало (в теории в базе уже могут быть невалидные данные, тогда после включения мы не сможем их прочитать).
commit_hash:f8823b097e463446035a0fe784a7b8044ea4156c
-rw-r--r-- | yt/yt/core/yson/config.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/yt/yt/core/yson/config.cpp b/yt/yt/core/yson/config.cpp index eab523b4f8..0bf5b228fd 100644 --- a/yt/yt/core/yson/config.cpp +++ b/yt/yt/core/yson/config.cpp @@ -9,7 +9,7 @@ void TProtobufInteropConfig::Register(TRegistrar registrar) registrar.Parameter("default_enum_yson_storage_type", &TThis::DefaultEnumYsonStorageType) .Default(EEnumYsonStorageType::String); registrar.Parameter("utf8_check", &TThis::Utf8Check) - .Default(EUtf8Check::Disable); + .Default(EUtf8Check::ThrowOnFail); registrar.Parameter("force_snake_case_names", &TThis::ForceSnakeCaseNames) .Default(false); } |