Browse Source

YQL-14689 add signatures.

ref:3887ce82715187f43e2a6d2af94c4002f793eaae
a-romanov 2 years ago
parent
commit
76552f2745

+ 6 - 0
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

+ 9 - 0
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. Значение произвольного типа;

+ 15 - 0
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 также реализован и для строк.

+ 9 - 0
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`;

+ 5 - 0
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. Тип;

+ 7 - 1
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>
+<span style="color: gray;">(все три примера выше эквивалентны)</span>

+ 27 - 0
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`.

+ 8 - 1
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;
-```
+```

+ 7 - 0
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. Выражение, которое станет результатом вызова функции в случае успеха проверки. Оно же подвергается проверке на тип данных в соответствующих функциях.

+ 10 - 0
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'>
+```
+
 Аргументы:
 
 * Строка с именем элемента перечисления

Some files were not shown because too many files changed in this diff