diff options
author | a-romanov <a-romanov@yandex-team.ru> | 2022-06-10 07:58:38 +0300 |
---|---|---|
committer | a-romanov <a-romanov@yandex-team.ru> | 2022-06-10 07:58:38 +0300 |
commit | 76552f274548696e848730e2f9c45f2e8a7d8775 (patch) | |
tree | e71d19cc0c25c7e165da5bdc8f8b3ad8042b3a62 | |
parent | c8103e6df850cb8ea0d035aab3c248f83106e88a (diff) | |
download | ydb-76552f274548696e848730e2f9c45f2e8a7d8775.tar.gz |
YQL-14689 add signatures.
ref:3887ce82715187f43e2a6d2af94c4002f793eaae
28 files changed, 268 insertions, 4 deletions
diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/abs.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/abs.md index 1bbf5ee22d2..2ae0079609a 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/abs.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/abs.md @@ -2,6 +2,12 @@ Абсолютное значение числа. +**Сигнатура** +``` +Abs(T)->T +Abs(T?)->T? +``` + **Примеры** ``` yql SELECT Abs(-123); -- 123 diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/as_tagged.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/as_tagged.md index efda31d71e1..cfd57e2415b 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/as_tagged.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/as_tagged.md @@ -2,6 +2,15 @@ Оборачивает значение в [Tagged тип данных](../../../types/special.md) с указанной меткой с сохранением физического типа данных. `Untag` — обратная операция. +**Сигнатура** +``` +AsTagged(T, tagName:String)->Tagged<T,tagName> +AsTagged(T?, tagName:String)->Tagged<T,tagName>? + +Untag(Tagged<T, tagName>)->T +Untag(Tagged<T, tagName>?)->T? +``` + Обязательные аргументы: 1. Значение произвольного типа; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/bitops.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/bitops.md index 2fee0f0fa78..da9b75a2c9d 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/bitops.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/bitops.md @@ -2,6 +2,21 @@ `TestBit()`, `ClearBit()`, `SetBit()` и `FlipBit()` - проверить, сбросить, установить или инвертировать бит в беззнаковом числе по указанному порядковому номеру бита. +**Сигнатуры** +``` +TestBit(T, Uint8)->Bool +TestBit(T?, Uint8)->Bool? + +ClearBit(T, Uint8)->T +ClearBit(T?, Uint8)->T? + +SetBit(T, Uint8)->T +SetBit(T?, Uint8)->T? + +FlipBit(T, Uint8)->T +FlipBit(T?, Uint8)->T? +``` + Аргументы: 1. Беззнаковое число, над которым выполнять требуемую операцию. TestBit также реализован и для строк. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/byteat.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/byteat.md index 604b6d7e50f..c30b5c34ac4 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/byteat.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/byteat.md @@ -2,6 +2,15 @@ Получение значение байта в строке по индексу от её начала. В случае некорректного индекса возвращается `NULL`. +**Сигнатура** +``` +ByteAt(String, Uint32)->Uint8 +ByteAt(String?, Uint32)->Uint8? + +ByteAt(Utf8, Uint32)->Uint8 +ByteAt(Utf8?, Uint32)->Uint8? +``` + Аргументы: 1. Строка: `String` или `Utf8`; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/callable.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/callable.md index ef89712b940..0dcc7a37467 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/callable.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/callable.md @@ -2,6 +2,11 @@ Создать вызываемое значение с заданной сигнатурой из лямбда-функции. Обычно используется для того, чтобы размещать вызываемые значения в контейнерах. +**Сигнатура** +``` +Callable(Type<Callable<(...)->T>>, lambda)->Callable<(...)->T> +``` + Аргументы: 1. Тип; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/coalesce.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/coalesce.md index 922a0b65c58..a030f12d72c 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/coalesce.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/coalesce.md @@ -2,6 +2,12 @@ Перебирает аргументы слева направо и возвращает первый найденный непустой аргумент. Чтобы результат получился гарантированно непустым (не [optional типа](../../../types/optional.md)), самый правый аргумент должен быть такого типа (зачастую используют литерал). При одном аргументе возвращает его без изменений. +**Сигнатура** +``` +COALESCE(T?, ..., T)->T +COALESCE(T?, ..., T?)->T? +``` + Позволяет передавать потенциально пустые значения в функции, которые не умеют обрабатывать их самостоятельно. Доступен краткий формат записи в виде оператора `??`, обладающего низким приоритетом (ниже булевых операций). Можно использовать алиас `NVL`. @@ -27,4 +33,4 @@ SELECT NVL( ) FROM my_table; ``` -<span style="color: gray;">(все три примера выше эквивалентны)</span>
\ No newline at end of file +<span style="color: gray;">(все три примера выше эквивалентны)</span> diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_tz.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_tz.md index 3dd31df9202..71c6312ac34 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_tz.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_tz.md @@ -2,6 +2,13 @@ `CurrentTzDate()`, `CurrentTzDatetime()` и `CurrentTzTimestamp()` - получение текущей даты и/или времени в указанной в первом аргументе [IANA временной зоне](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Тип данных результата указан в конце названия функции. +**Сигнатуры** +``` +CurrentTzDate(String, ...)->TzDate +CurrentTzDatetime(String, ...)->TzDatetime +CurrentTzTimestamp(String, ...)->TzTimestamp +``` + Последующие аргументы опциональны и работают по тому же принципу, что и у [RANDOM](#random). **Примеры** @@ -16,6 +23,16 @@ SELECT CurrentTzTimestamp("Europe/Moscow", TableRow()) FROM my_table; Добавление информации о временной зоне к дате/времени, заданных в UTC. При выводе в результате `SELECT` или после `CAST` в `String` будут применены правила временной зоны по вычислению смещения времени. +**Сигнатура** +``` +AddTimezone(Date, String)->TzDate +AddTimezone(Date?, String)->TzDate? +AddTimezone(Datetime, String)->TzDatetime +AddTimezone(Datetime?, String)->TzDatetime? +AddTimezone(Timestamp, String)->TzTimestamp +AddTimezone(Timestamp?, String)->TzTimestamp? +``` + Аргументы: 1. Дата - тип `Date`/`Datetime`/`Timestamp`; @@ -32,6 +49,16 @@ SELECT AddTimezone(Datetime("2018-02-01T12:00:00Z"), "Europe/Moscow"); Удаление информации о временной зоне и перевод в дату/время, заданные в UTC. +**Сигнатура** +``` +RemoveTimezone(TzDate)->Date +RemoveTimezone(TzDate?)->Date? +RemoveTimezone(TzDatetime)->Datetime +RemoveTimezone(TzDatetime?)->Datetime? +RemoveTimezone(TzTimestamp)->Timestamp +RemoveTimezone(TzTimestamp?)->Timestamp? +``` + Аргументы: 1. Дата - тип `TzDate`/`TzDatetime`/`TzTimestamp`. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_utc.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_utc.md index 6f989ea8e03..28b3e5f75a8 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_utc.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_utc.md @@ -2,6 +2,13 @@ `CurrentUtcDate()`, `CurrentUtcDatetime()` и `CurrentUtcTimestamp()` - получение текущей даты и/или времени в UTC. Тип данных результата указан в конце названия функции. +**Сигнатуры** +``` +CurrentUtcDate(...)->Date +CurrentUtcDatetime(...)->Datetime +CurrentUtcTimestamp(...)->Timestamp +``` + Аргументы опциональны и работают по тому же принципу, что и у [RANDOM](#random). **Примеры** @@ -10,4 +17,4 @@ SELECT CurrentUtcDate(); ``` ``` yql SELECT CurrentUtcTimestamp(TableRow()) FROM my_table; -```
\ No newline at end of file +``` diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/ensure.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/ensure.md index 978b8ccf68a..c3e9f542724 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/ensure.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/ensure.md @@ -8,6 +8,13 @@ Если проверка не прошла успешно, то весь запрос завершается с ошибкой. +**Сигнатуры** +``` +Ensure(T, Bool, String)->T +EnsureType(T, Type<T>, String)->T +EnsureConvertibleTo(T, Type<T>, String)->T +``` + Аргументы: 1. Выражение, которое станет результатом вызова функции в случае успеха проверки. Оно же подвергается проверке на тип данных в соответствующих функциях. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/enum.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/enum.md index 21b492db0ff..b1fce0c6909 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/enum.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/enum.md @@ -2,6 +2,11 @@ `Enum()` cоздает значение перечисления. +**Сигнатура** +``` +Enum(String, Type<Enum<...>>)->Enum<...> +``` + Аргументы: * Строка с именем поля @@ -17,6 +22,11 @@ SELECT `AsEnum()` создает значение [перечисления](../../../types/containers.md) с одним элементом. Это значение может быть неявно преобразовано к любому перечислению, содержащему такое имя. +**Сигнатура** +``` +AsEnum(String)->Enum<'tag'> +``` + Аргументы: * Строка с именем элемента перечисления diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/files.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/files.md index 49b6eb3c878..baf31723a04 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/files.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/files.md @@ -2,6 +2,12 @@ Как [консольный](../../../interfaces/cli.md), так и [веб](../../../interfaces/web.md)-интерфейсы позволяют «прикладывать» к запросу произвольные именованные файлы. С помощью этих функций можно по имени приложенного файла получить его содержимое или путь в «песочнице» и в дальнейшем использовать в запросе произвольным образом. +**Сигнатуры** +``` +FilePath(String)->String +FileContent(String)->String +``` + Аргумент `FileContent` и `FilePath` — строка с алиасом. **Примеры** @@ -15,6 +21,11 @@ SELECT "Content of " Получение пути до корня директории с несколькими «приложенными» файлами с указанным общим префиксом. +**Сигнатура** +``` +FolderPath(String)->String +``` + Аргумент — строка с префиксом среди алиасов. Также см. [PRAGMA File](../../../syntax/pragma.md#file) и [PRAGMA Folder](../../../syntax/pragma.md#folder). @@ -35,6 +46,11 @@ SELECT FolderPath("foo"); -- в директории по возвращённо Поддерживается только один формат файла — по одному значению на строку.{% if feature_udf_noncpp %} Для чего-то более сложного прямо сейчас придется написать небольшую UDF на [Python](../../../udf/python.md) или [JavaScript](../../../udf/javascript.md). {% endif %} +**Сигнатура** +``` +ParseFile(String, String)->List<T> +``` + Два обязательных аргумента: 1. Тип ячейки списка: поддерживаются только строки и числовые типы; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/find.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/find.md index 6a981189c6f..2ab4928831d 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/find.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/find.md @@ -2,6 +2,14 @@ Поиск позиции подстроки в строке. +**Сигнатура** +``` +Find(String, String[, Uint32?])->Uint32? +Find(String?, String[, Uint32?])->Uint32? +Find(Utf8, Utf8[, Uint32?])->Uint32? +Find(Utf8?, Utf8[, Uint32?])->Uint32? +``` + Обязательные аргументы: * Исходная строка; @@ -28,6 +36,14 @@ SELECT FIND("abcdefg_abcdefg", "abc", 9); -- null Обратный поиск позиции подстроки в строке, от конца к началу. +**Сигнатура** +``` +RFind(String, String[, Uint32?])->Uint32? +RFind(String?, String[, Uint32?])->Uint32? +RFind(Utf8, Utf8[, Uint32?])->Uint32? +RFind(Utf8?, Utf8[, Uint32?])->Uint32? +``` + Обязательные аргументы: * Исходная строка; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/if.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/if.md index 747eeea0989..e9b8eb882ac 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/if.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/if.md @@ -4,6 +4,12 @@ Является упрощенной альтернативой для [CASE WHEN ... THEN ... ELSE ... END](../../../syntax/expressions.md#case). +**Сигнатура** +``` +IF(Bool, T, T)->T +IF(Bool, T)->T? +``` + Аргумент `else_expression` можно не указывать. В этом случае, если условие ложно (`condition_expression` вернул `false`), будет возвращено пустое значение с типом, соответствующим `then_expression` и допускающим значение `NULL`. Таким образом, у результата получится [optional тип данных](../../../types/optional.md). **Примеры** diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/length.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/length.md index a343e35a63c..b4be7c8e233 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/length.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/length.md @@ -2,6 +2,12 @@ Возвращает длину строки в байтах. Также эта функция доступна под именем `LEN`. +**Сигнатура** +``` +LENGTH(T)->Uint32 +LENGTH(T?)->Uint32? +``` + **Примеры** ``` yql SELECT LENGTH("foo"); diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/max_min.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/max_min.md index 243c9d08772..d0b33252214 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/max_min.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/max_min.md @@ -2,6 +2,12 @@ Возвращает минимальный или максимальный среди N аргументов. Эти функции позволяют не использовать стандартную для SQL конструкцию `CASE WHEN a < b THEN a ELSE b END`, которая была бы особенно громоздкой для N больше двух. +**Сигнатуры** +``` +MIN_OF(T[,T,...})->T +MAX_OF(T[,T,...})->T +``` + Типы аргументов должны быть приводимы друг к другу и могут допускать значение `NULL`. `GREATEST` является синонимом к `MAX_OF`, а `LEAST` — к `MIN_OF`. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/metadata.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/metadata.md index 330501157a7..8be61a59af4 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/metadata.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/metadata.md @@ -6,6 +6,13 @@ * `CurrentOperationSharedId()` — публичный идентификатор операции; * `CurrentAuthenticatedUser()` — логин текущего пользователя. +**Сигнатуры** +``` +CurrentOperationId()->String +CurrentOperationSharedId()->String +CurrentAuthenticatedUser()->String +``` + Аргументов нет. При отсутствии данной информации, например, при запуске в embedded режиме, возвращают пустую строку. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/nanvl.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/nanvl.md index 19715ae1f44..d7e65bdca32 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/nanvl.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/nanvl.md @@ -2,6 +2,12 @@ Заменяет значения `NaN` (not a number) в выражениях типа `Float`, `Double` или [Optional](../../../types/optional.md). +**Сигнатура** +``` +NANVL(Float, Float)->Float +NANVL(Double, Double)->Double +``` + Аргументы: 1. Выражение, в котором нужно произвести замену. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/optional_ops.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/optional_ops.md index 2fa6d178653..9371ff493e5 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/optional_ops.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/optional_ops.md @@ -2,7 +2,10 @@ `Just()` - Изменить тип данных значения на [optional](../../../types/optional.md) от текущего типа данных (то есть `T` превращается в `T?`). -Обратная операция — [Unwrap](#unwrap). +**Сигнатура** +``` +Just(T)->T? +``` **Примеры** ``` yql @@ -14,6 +17,13 @@ SELECT Если значение не является [optional](../../../types/optional.md), то функция возвращает свой первый аргумент без изменений. +**Сигнатура** +``` +Unwrap(T?)->T +Unwrap(T?, Utf8)->T +Unwrap(T?, String)->T +``` + Аргументы: 1. Значение для преобразования; @@ -30,10 +40,15 @@ SELECT Unwrap($value, "Unexpected NULL for $value"); `Nothing()` - Создать пустое значение указанного [Optional](../../../types/optional.md) типа данных. +**Сигнатура** +``` +Nothing(Type<T?>)->T? +``` + **Примеры** ``` yql SELECT Nothing(String?); -- пустое значение (NULL) с типом String? ``` -[Подробнее о ParseType и других функциях для работы с типами данных](../../types.md).
\ No newline at end of file +[Подробнее о ParseType и других функциях для работы с типами данных](../../types.md). diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/pickle.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/pickle.md index 03e3d08f742..c8b91f66bbc 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/pickle.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/pickle.md @@ -4,6 +4,13 @@ `Unpickle()` — обратная операция (десериализация), где первым аргументом передается тип данных результата, а вторым — строка с результатом `Pickle()` или `StablePickle()`. +**Сигнатуры** +``` +Pickle(T)->String +StablePickle(T)->String +Unpickle(Type<T>, String)->T +``` + Примеры: ``` yql SELECT * diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/random.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/random.md index 62d4b2aa127..fb635cb20fc 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/random.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/random.md @@ -6,6 +6,13 @@ * `RandomNumber()` — целое число из всего диапазона Uint64; * `RandomUuid()` — [Uuid version 4](https://tools.ietf.org/html/rfc4122#section-4.4). +**Сигнатуры** +``` +Random(T1[, T2, ...])->Double +RandomNumber(T1[, T2, ...])->Uint64 +RandomUuid(T1[, T2, ...])->Uuid +``` + При генерации случайных чисел аргументы не используются и нужны исключительно для управления моментом вызова. В каждый момент вызова возвращается новое случайное число. Поэтому: * Повторный вызов Random в рамках **одного запроса** при идентичном наборе аргументов возвращает тот же самый набор случайных чисел. Важно понимать, что речь именно про сами аргументы (текст между круглыми скобками), а не их значения. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/starts_ends_with.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/starts_ends_with.md index 932d95024f5..189ea874064 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/starts_ends_with.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/starts_ends_with.md @@ -2,6 +2,19 @@ Проверка наличия префикса или суффикса в строке. +**Сигнатуры** +``` +StartsWith(Utf8, Utf8)->Bool +StartsWith(Utf8[?], Utf8[?])->Bool? +StartsWith(String, String)->Bool +StartsWith(String[?], String[?])->Bool? + +EndsWith(Utf8, Utf8)->Bool +EndsWith(Utf8[?], Utf8[?])->Bool? +EndsWith(String, String)->Bool +EndsWith(String[?], String[?])->Bool? +``` + Обязательные аргументы: * Исходная строка; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticmap.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticmap.md index a27fe717b43..ee3e5cce7c6 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticmap.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticmap.md @@ -2,6 +2,11 @@ Преобразует структуру или кортеж, применяя лямбду к каждому элементу. +**Сигнатура** +``` +StaticMap(Struct<...>, lambda)->List<T> +``` + Аргументы: * Структура или кортеж; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticzip.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticzip.md index b6183d56f86..317bcda0ead 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticzip.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticzip.md @@ -4,6 +4,12 @@ Результататом будет соответственно структура или кортеж. Каждый элемент результата – кортеж с соответствующими элементами из аргументов. +**Сигнатура** +``` +StaticZip(Struct, Struct)->Struct +StaticZip(Tuple, Tuple)->Tuple +``` + **Примеры:** ``` yql $one = <|k1:1, k2:2.0|>; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/substring.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/substring.md index 210b9330044..1e1463c76cc 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/substring.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/substring.md @@ -2,6 +2,12 @@ Возвращает подстроку. +**Сигнатура** +``` +Substring(String[, Uint32? [, Uint32?]])->String +Substring(String?[, Uint32? [, Uint32?]])->String? +``` + Обязательные аргументы: * Исходная строка; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_path_name_recindex.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_path_name_recindex.md index c108337ed32..273d87496bc 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_path_name_recindex.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_path_name_recindex.md @@ -2,6 +2,11 @@ Доступ к текущему имени таблицы, что бывает востребовано при использовании [CONCAT](../../../syntax/select.md#concat), [RANGE](../../../syntax/select.md#range) и других подобных механизмов. +**Сигнатура** +``` +TablePath()->String +``` + Аргументов нет. Возвращает строку с полным путём, либо пустую строку и warning при использовании в неподдерживаемом контексте (например, при работе с подзапросом или диапазоном из 1000+ таблиц). {% note info "Примечание" %} @@ -26,6 +31,13 @@ WHERE key IN $subquery; Получить имя таблицы из пути к таблице. Путь можно получить через функцию [TablePath](#tablepath), или в виде колонки `Path` при использовании табличной функции [FOLDER](../../../syntax/select.md#folder). +**Сигнатура** +``` +TableName()->String +TableName(String)->String +TableName(String, String)->String +``` + Необязательные аргументы: * путь к таблице, по умолчанию используется `TablePath()` (также см. его ограничения); @@ -45,6 +57,11 @@ SELECT TableName(Path, "yt") FROM hahn.FOLDER(folder_name); Доступ к текущему порядковому номеру строки в исходной физической таблице, **начиная с 1** (зависит от реализации хранения). +**Сигнатура** +``` +TableRecordIndex()->Uint64 +``` + Аргументов нет. При использовании в сочетании с [CONCAT](../../../syntax/select.md#concat), [RANGE](../../../syntax/select.md#range) и другими подобными механизмами нумерация начинается заново для каждой таблицы на входе. В случае использования в некорректном контексте возвращает 0. **Пример** diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_row.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_row.md index e0979f8faf7..12f18ee401d 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_row.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_row.md @@ -2,6 +2,11 @@ Получение всей строки таблицы целиком в виде структуры. Аргументов нет{% if feature_join %}. `JoinTableRow` в случае `JOIN`-ов всегда возвращает структуру с префиксами таблиц{% endif %}. +**Сигнатура** +``` +TableRow()->Struct +``` + **Пример** ``` yql SELECT TableRow() FROM my_table; diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/to_from_bytes.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/to_from_bytes.md index a68072de3b3..4db2b6ebd31 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/to_from_bytes.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/to_from_bytes.md @@ -2,6 +2,15 @@ Конвертация [простых типов данных](../../../types/primitive.md) в строку со своим бинарным представлением и обратно. Числа представляются в [little endian](https://en.wikipedia.org/wiki/Endianness#Little-endian). +**Сигнатуры** +``` +ToBytes(T)->String +ToBytes(T?)->String? + +FromBytes(String, Type<T>)->T? +FromBytes(String?, Type<T>)->T? +``` + **Примеры** ``` yql SELECT diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/variant.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/variant.md index 6e427d0191f..6cbede2be7b 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/variant.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/variant.md @@ -2,6 +2,11 @@ `Variant()` создает значение варианта над кортежем или структурой. +**Сигнатура** +``` +Variant(T, String, Type<Variant<...>>)->Variant<...> +``` + Аргументы: * Значение @@ -19,6 +24,11 @@ SELECT `AsVariant()` создает значение [варианта над структурой](../../../types/containers.md) с одним полем. Это значение может быть неявно преобразовано к любому варианту над структурой, в которой совпадает для этого имени поля тип данных и могут быть дополнительные поля с другими именами. +**Сигнатура** +``` +AsVariant(T, String)->Variant +``` + Аргументы: * Значение |