aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <a-romanov@yandex-team.ru>2022-06-10 07:58:38 +0300
committera-romanov <a-romanov@yandex-team.ru>2022-06-10 07:58:38 +0300
commit76552f274548696e848730e2f9c45f2e8a7d8775 (patch)
treee71d19cc0c25c7e165da5bdc8f8b3ad8042b3a62
parentc8103e6df850cb8ea0d035aab3c248f83106e88a (diff)
downloadydb-76552f274548696e848730e2f9c45f2e8a7d8775.tar.gz
YQL-14689 add signatures.
ref:3887ce82715187f43e2a6d2af94c4002f793eaae
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/abs.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/as_tagged.md9
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/bitops.md15
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/byteat.md9
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/callable.md5
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/coalesce.md8
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_tz.md27
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/current_utc.md9
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/ensure.md7
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/enum.md10
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/files.md16
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/find.md16
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/if.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/length.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/max_min.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/metadata.md7
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/nanvl.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/optional_ops.md19
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/pickle.md7
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/random.md7
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/starts_ends_with.md13
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticmap.md5
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/staticzip.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/substring.md6
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_path_name_recindex.md17
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/table_row.md5
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/to_from_bytes.md9
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/basic/variant.md10
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
+```
+
Аргументы:
* Значение