diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2025-05-30 17:38:18 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2025-05-30 17:49:19 +0300 |
commit | db8ab61ea2bd34376d503f7f13ac77ce2732952c (patch) | |
tree | 8e964be82b1557a5269a96d86628823260f8dc01 | |
parent | 4d33858f0d41668550844afbe1ebb449d035dc33 (diff) | |
download | ydb-db8ab61ea2bd34376d503f7f13ac77ce2732952c.tar.gz |
Intermediate changes
commit_hash:63fb90ee32870924642659f0e260bc05dffd939a
-rw-r--r-- | yql/essentials/docs/en/udf/list/yson.md | 4 | ||||
-rw-r--r-- | yql/essentials/docs/ru/udf/list/yson.md | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/yql/essentials/docs/en/udf/list/yson.md b/yql/essentials/docs/en/udf/list/yson.md index 3d4dd2d7cba..756ea377800 100644 --- a/yql/essentials/docs/en/udf/list/yson.md +++ b/yql/essentials/docs/en/udf/list/yson.md @@ -291,11 +291,11 @@ $yson = @@{y = true; x = 5.5}@@y; SELECT Yson::LookupBool($yson, "z"); --- null SELECT Yson::LookupBool($yson, "y"); --- true -SELECT Yson::LookupInt64($yson, "x"); --- Error +-- SELECT Yson::LookupInt64($yson, "x"); --- Error SELECT Yson::LookupInt64($yson, "x", Yson::Options(false as Strict)); --- null SELECT Yson::LookupInt64($yson, "x", Yson::Options(true as AutoConvert)); --- 5 -SELECT Yson::ConvertToBoolDict($yson); --- Error +-- SELECT Yson::ConvertToBoolDict($yson); --- Error SELECT Yson::ConvertToBoolDict($yson, Yson::Options(false as Strict)); --- { "y": true } SELECT Yson::ConvertToDoubleDict($yson, Yson::Options(false as Strict)); --- { "x": 5.5 } ``` diff --git a/yql/essentials/docs/ru/udf/list/yson.md b/yql/essentials/docs/ru/udf/list/yson.md index 0f5d6094e83..2b5f86d9864 100644 --- a/yql/essentials/docs/ru/udf/list/yson.md +++ b/yql/essentials/docs/ru/udf/list/yson.md @@ -29,7 +29,7 @@ YSON — разработанный в Яндексе формат данных, * `Yson::YPath***` — получение одного элемента дерева документа по указанному относительному пути с опциональным преобразованием в нужный тип данных; * `Yson::Serialize***` — получить из ресурса копию его данных, сериализованную в одном из форматов; -* Для удобства при передаче сериализованного Yson и Json в функции, ожидающие на входе ресурс с DOM-объектом, неявное преобразование через `Yson::Parse` или `Yson::ParseJson` происходит автоматически. Также в SQL синтаксисе оператор точки или квадратных скобок автоматически добавляет вызов `Yson::Lookup`. Для сериализации ресурса по-прежнему нужно вызывать `Yson::ConvertTo***` или `Yson::Serialize***`. Таким образом, например, получение элемента "foo" словаря из колонки mycolumn типа Yson в виде строки может выглядеть так: `SELECT Yson::ConvertToString(mycolumn["foo"]) FROM mytable;` или `SELECT Yson::ConvertToString(mycolumn.foo) FROM mytable;`. В варианте с точкой можно экранировать спецсимволы по [общим правилам для индентификаторов](../../syntax/expressions.md#escape). +* Для удобства при передаче сериализованного Yson и Json в функции, ожидающие на входе ресурс с DOM-объектом, неявное преобразование через `Yson::Parse` или `Yson::ParseJson` происходит автоматически. Также в SQL синтаксисе оператор точки или квадратных скобок автоматически добавляет вызов `Yson::Lookup`. Для сериализации ресурса по-прежнему нужно вызывать `Yson::ConvertTo***` или `Yson::Serialize***`. Таким образом, например, получение элемента "foo" словаря из колонки mycolumn типа Yson в виде строки может выглядеть так: `SELECT Yson::ConvertToString(mycolumn["foo"]) FROM mytable;` или `SELECT Yson::ConvertToString(mycolumn.foo) FROM mytable;`. В варианте с точкой можно экранировать спецсимволы по [общим правилам для идентификаторов](../../syntax/expressions.md#escape). Функции модуля стоит рассматривать как «кубики», из которых можно собирать разные конструкции, например: @@ -82,7 +82,7 @@ Yson::ParseJson(String{Flags:AutoMap}) -> Resource<'Yson2.Node'>? Yson::ParseJsonDecodeUtf8(String{Flags:AutoMap}) -> Resource<'Yson2.Node'>? ``` -Результат всех трёх функций является несериализуемым: его можно только передать на вход другой функции из библиотеки Yson, но нельзя сохранить в таблицу или вернуть на клиент в результате операции — попытка так сделать приведет к ошибке типизации. Также запрещено возвращать его за пределы [подзапросов](../../syntax/select/index.md): если это требуется, то надо вызвать [Yson::Serialize](#ysonserialize), а оптимизатор уберёт лишнюю сериализию и десериализацию, если материализация в конечном счёте не потребуется. +Результат всех трёх функций является несериализуемым: его можно только передать на вход другой функции из библиотеки Yson, но нельзя сохранить в таблицу или вернуть на клиент в результате операции — попытка так сделать приведет к ошибке типизации. Также запрещено возвращать его за пределы [подзапросов](../../syntax/select/index.md): если это требуется, то надо вызвать [Yson::Serialize](#ysonserialize), а оптимизатор уберёт лишнюю сериализацию и десериализацию, если материализация в конечном счёте не потребуется. {% note info %} @@ -292,11 +292,11 @@ $yson = @@{y = true; x = 5.5}@@y; SELECT Yson::LookupBool($yson, "z"); --- null SELECT Yson::LookupBool($yson, "y"); --- true -SELECT Yson::LookupInt64($yson, "x"); --- Ошибка +-- SELECT Yson::LookupInt64($yson, "x"); --- Ошибка SELECT Yson::LookupInt64($yson, "x", Yson::Options(false as Strict)); --- null SELECT Yson::LookupInt64($yson, "x", Yson::Options(true as AutoConvert)); --- 5 -SELECT Yson::ConvertToBoolDict($yson); --- Ошибка +-- SELECT Yson::ConvertToBoolDict($yson); --- Ошибка SELECT Yson::ConvertToBoolDict($yson, Yson::Options(false as Strict)); --- { "y": true } SELECT Yson::ConvertToDoubleDict($yson, Yson::Options(false as Strict)); --- { "x": 5.5 } ``` |