From 455550ab031c342f10d37d6966a54919dd5db066 Mon Sep 17 00:00:00 2001 From: Alexey Date: Fri, 24 Sep 2021 11:44:29 +0000 Subject: [PATCH 01/17] en draft --- docs/en/sql-reference/functions/index.md | 55 +++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index 47da4e6f3cc..643ba660253 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -61,7 +61,60 @@ For some functions the first argument (the lambda function) can be omitted. In t ## User Defined Functions {#user-defined-functions} -Custom functions can be created using the [CREATE FUNCTION](../statements/create/function.md) statement. To delete these functions use the [DROP FUNCTION](../statements/drop.md#drop-function) statement. +Custom functions from lambda expressions can be created using the [CREATE FUNCTION](../statements/create/function.md) statement. To delete these functions use the [DROP FUNCTION](../statements/drop.md#drop-function) statement. + +The other option is to create functions using XML configuration. Add the path to a function configuration file inside `user_defined_executable_functions_config` tag. Wildcard symbol `*` may be used inside the path. +``` xml +*_function.xml +``` +Function configuration files are searched inside path specified by `user_files_path` setting. + +Function configuration contains: + +- `name` - a function name. +- `command` - a command or a script to execute. +- `argument` - argument description with the `type` of an argument. Each argument is described in a separate tag. +- `format` - The format in which arguments are passed to a command. +- `return_type` - the type of a value returned by the function. +- `type` - a function type. If it is set to `executable` then single command is started. If it is set to `executable_pool` then several commands are started. +- `lifetime` - reload interval in seconds. + +A function command must read arguments from STDIN and must output result to STDOUT. It must process arguments in a loop. + +**Example** +The following example creates `my_function`. It gets single argument of type String. `xargs` command listens to STDIN and calls `echo` for every argument. +``` + + + executable + my_function + + String + + String + TabSeparated + xargs -I arg echo Processing arg + 0 + + +``` + +Query: +`my_function` is available in queries. + +``` sql +SELECT number, my_function(toString(number)) FROM numbers(2); +``` + +Result: + +``` text +┌─number─┬─my_function(toString(number))─┐ +│ 0 │ Processing 0 │ +│ 1 │ Processing 1 │ +└────────┴───────────────────────────────┘ +``` + ## Error Handling {#error-handling} From 5e1d180d6452f0b79b567a1de14d74179e2c4246 Mon Sep 17 00:00:00 2001 From: Alexey Date: Sat, 25 Sep 2021 19:32:42 +0000 Subject: [PATCH 02/17] reload and grant stub --- docs/en/sql-reference/statements/grant.md | 2 ++ docs/en/sql-reference/statements/system.md | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/docs/en/sql-reference/statements/grant.md b/docs/en/sql-reference/statements/grant.md index 2b3cd68fbb2..f04952746a6 100644 --- a/docs/en/sql-reference/statements/grant.md +++ b/docs/en/sql-reference/statements/grant.md @@ -155,6 +155,8 @@ Hierarchy of privileges: - `SYSTEM RELOAD CONFIG` - `SYSTEM RELOAD DICTIONARY` - `SYSTEM RELOAD EMBEDDED DICTIONARIES` + - `SYSTEM RELOAD FUNCTION` + - `SYSTEM RELOAD FUNCTIONS` - `SYSTEM MERGES` - `SYSTEM TTL MERGES` - `SYSTEM FETCHES` diff --git a/docs/en/sql-reference/statements/system.md b/docs/en/sql-reference/statements/system.md index cf2a99a4c5f..5b2d0175786 100644 --- a/docs/en/sql-reference/statements/system.md +++ b/docs/en/sql-reference/statements/system.md @@ -12,6 +12,8 @@ The list of available `SYSTEM` statements: - [RELOAD DICTIONARY](#query_language-system-reload-dictionary) - [RELOAD MODELS](#query_language-system-reload-models) - [RELOAD MODEL](#query_language-system-reload-model) +- [RELOAD FUNCTIONS](#query_language-system-reload-functions) +- [RELOAD FUNCTION](#query_language-system-reload-function) - [DROP DNS CACHE](#query_language-system-drop-dns-cache) - [DROP MARK CACHE](#query_language-system-drop-mark-cache) - [DROP UNCOMPRESSED CACHE](#query_language-system-drop-uncompressed-cache) @@ -83,6 +85,17 @@ Completely reloads a CatBoost model `model_name` if the configuration was update SYSTEM RELOAD MODEL ``` +## RELOAD FUNCTIONS {#query_language-system-reload-functions} + +**Syntax** + +```sql +[SYSTEM] RELOAD FUNCTIONS +``` + +## RELOAD FUNCTION {#query_language-system-reload-function} + + ## DROP DNS CACHE {#query_language-system-drop-dns-cache} Resets ClickHouse’s internal DNS cache. Sometimes (for old ClickHouse versions) it is necessary to use this command when changing the infrastructure (changing the IP address of another ClickHouse server or the server used by dictionaries). From 59a69b64e00a16f997840f735633465454c59c01 Mon Sep 17 00:00:00 2001 From: Alexey Date: Sun, 26 Sep 2021 19:44:53 +0000 Subject: [PATCH 03/17] Improved text --- docs/en/sql-reference/functions/index.md | 31 +++++++++++++--------- docs/en/sql-reference/statements/system.md | 10 +++---- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index 643ba660253..3069a596721 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -59,41 +59,46 @@ A lambda function that accepts multiple arguments can also be passed to a higher For some functions the first argument (the lambda function) can be omitted. In this case, identical mapping is assumed. -## User Defined Functions {#user-defined-functions} +## SQL User Defined Functions {#user-defined-functions} Custom functions from lambda expressions can be created using the [CREATE FUNCTION](../statements/create/function.md) statement. To delete these functions use the [DROP FUNCTION](../statements/drop.md#drop-function) statement. -The other option is to create functions using XML configuration. Add the path to a function configuration file inside `user_defined_executable_functions_config` tag. Wildcard symbol `*` may be used inside the path. +## Executable User Defined Functions {#executable-user-defined-functions} +ClickHouse can call any external executable program or script to process data. Describe such functions in a [configuration file](../../operations/configuration-files.md) and add the path of that file to the main configuration in `user_defined_executable_functions_config` setting. If a wildcard symbol `*` is used in the path, then all files matching a pattern are loaded. Example: ``` xml *_function.xml ``` -Function configuration files are searched inside path specified by `user_files_path` setting. +User defined function configurations are searched relative to a path specified in the `user_files_path` setting. -Function configuration contains: +A function configuration contains the following settings: - `name` - a function name. - `command` - a command or a script to execute. -- `argument` - argument description with the `type` of an argument. Each argument is described in a separate tag. -- `format` - The format in which arguments are passed to a command. -- `return_type` - the type of a value returned by the function. -- `type` - a function type. If it is set to `executable` then single command is started. If it is set to `executable_pool` then several commands are started. -- `lifetime` - reload interval in seconds. +- `argument` - argument description with the `type` of an argument. Each argument is described in a separate setting. +- `format` - a [format](../../interfaces/formats.md) in which arguments are passed to the command. +- `return_type` - the type of a returned value. +- `max_command_execution_time` - the maximum number of seconds the function is allowed to process arguments. Optional. Default value is `10`. +- `command_termination_timeout` - ??? Optional. Default value is `10`. +- `type` - an executable type. If `type` is set to `executable` then single command is started. If it is set to `executable_pool` then a pool of commands is created. +- `pool_size` - a size of the command pool. Optional. Default value is `16`. +- `lifetime` - reload interval of the function in seconds. If it is set to `0` then function is not reloaded. +- `send_chunk_header` - ??? Optional. Default value is `false`. -A function command must read arguments from STDIN and must output result to STDOUT. It must process arguments in a loop. +The command must read arguments from STDIN and must output the result to STDOUT. The command must process arguments iteratively. That is after processing a set of arguments it must wait for the next set of arguments. **Example** The following example creates `my_function`. It gets single argument of type String. `xargs` command listens to STDIN and calls `echo` for every argument. ``` - executable my_function + xargs -I arg echo Processing arg String - String TabSeparated - xargs -I arg echo Processing arg + String + executable 0 diff --git a/docs/en/sql-reference/statements/system.md b/docs/en/sql-reference/statements/system.md index 5b2d0175786..bbe90013d11 100644 --- a/docs/en/sql-reference/statements/system.md +++ b/docs/en/sql-reference/statements/system.md @@ -13,7 +13,7 @@ The list of available `SYSTEM` statements: - [RELOAD MODELS](#query_language-system-reload-models) - [RELOAD MODEL](#query_language-system-reload-model) - [RELOAD FUNCTIONS](#query_language-system-reload-functions) -- [RELOAD FUNCTION](#query_language-system-reload-function) +- [RELOAD FUNCTION](#query_language-system-reload-functions) - [DROP DNS CACHE](#query_language-system-drop-dns-cache) - [DROP MARK CACHE](#query_language-system-drop-mark-cache) - [DROP UNCOMPRESSED CACHE](#query_language-system-drop-uncompressed-cache) @@ -87,15 +87,15 @@ SYSTEM RELOAD MODEL ## RELOAD FUNCTIONS {#query_language-system-reload-functions} +Reloads all registered [executable user defined functions](../functions/index.md#executable-user-defined-functions) or one of them from an XML configuration. + **Syntax** ```sql -[SYSTEM] RELOAD FUNCTIONS +RELOAD FUNCTIONS +RELOAD FUNCTION function_name ``` -## RELOAD FUNCTION {#query_language-system-reload-function} - - ## DROP DNS CACHE {#query_language-system-drop-dns-cache} Resets ClickHouse’s internal DNS cache. Sometimes (for old ClickHouse versions) it is necessary to use this command when changing the infrastructure (changing the IP address of another ClickHouse server or the server used by dictionaries). From af1fbb1d6eceab361245e13b0f80f0892455c3b1 Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Sep 2021 20:15:15 +0000 Subject: [PATCH 04/17] en fixes --- docs/en/sql-reference/functions/index.md | 41 ++++++++++++------------ 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index 3069a596721..d1958333a81 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -64,11 +64,11 @@ For some functions the first argument (the lambda function) can be omitted. In t Custom functions from lambda expressions can be created using the [CREATE FUNCTION](../statements/create/function.md) statement. To delete these functions use the [DROP FUNCTION](../statements/drop.md#drop-function) statement. ## Executable User Defined Functions {#executable-user-defined-functions} -ClickHouse can call any external executable program or script to process data. Describe such functions in a [configuration file](../../operations/configuration-files.md) and add the path of that file to the main configuration in `user_defined_executable_functions_config` setting. If a wildcard symbol `*` is used in the path, then all files matching a pattern are loaded. Example: +ClickHouse can call any external executable program or script to process data. Describe such functions in a [configuration file](../../operations/configuration-files.md) and add the path of that file to the main configuration in `user_defined_executable_functions_config` setting. If a wildcard symbol `*` is used in the path, then all files matching the pattern are loaded. Example: ``` xml *_function.xml ``` -User defined function configurations are searched relative to a path specified in the `user_files_path` setting. +User defined function configurations are searched relative to the path specified in the `user_files_path` setting. A function configuration contains the following settings: @@ -77,47 +77,48 @@ A function configuration contains the following settings: - `argument` - argument description with the `type` of an argument. Each argument is described in a separate setting. - `format` - a [format](../../interfaces/formats.md) in which arguments are passed to the command. - `return_type` - the type of a returned value. -- `max_command_execution_time` - the maximum number of seconds the function is allowed to process arguments. Optional. Default value is `10`. -- `command_termination_timeout` - ??? Optional. Default value is `10`. - `type` - an executable type. If `type` is set to `executable` then single command is started. If it is set to `executable_pool` then a pool of commands is created. -- `pool_size` - a size of the command pool. Optional. Default value is `16`. -- `lifetime` - reload interval of the function in seconds. If it is set to `0` then function is not reloaded. -- `send_chunk_header` - ??? Optional. Default value is `false`. +- `max_command_execution_time` - maximum execution time in seconds for processing block of data. This setting is valid for `executable_pool` fuctions only. Optional. Default value is `10`. +- `command_termination_timeout` - time in seconds during which a command should finish after its pipe is closed. After that time SIGTERM is sent to the process executing the command. This setting is valid for `executable_pool` fuctions only. Optional. Default value is `10`. +- `pool_size` - the size of a command pool. Optional. Default value is `16`. +- `lifetime` - the reload interval of a function in seconds. If it is set to `0` then the function is not reloaded. +- `send_chunk_header` - controls whether to send row count before sending a chunk of data to process. Optional. Default value is `false`. -The command must read arguments from STDIN and must output the result to STDOUT. The command must process arguments iteratively. That is after processing a set of arguments it must wait for the next set of arguments. +The command must read arguments from STDIN and must output the result to STDOUT. The command must process arguments iteratively. That is after processing a chunk of arguments it must wait for the next chunk. **Example** -The following example creates `my_function`. It gets single argument of type String. `xargs` command listens to STDIN and calls `echo` for every argument. +The following example creates `test_function` using XML configuration. ``` - my_function - xargs -I arg echo Processing arg + executable + test_function + UInt64 - String + UInt64 + + + UInt64 TabSeparated - String - executable + cd /; clickhouse-local --input-format TabSeparated --output-format TabSeparated --structure 'x UInt64, y UInt64' --query "SELECT x + y FROM table" 0 ``` Query: -`my_function` is available in queries. ``` sql -SELECT number, my_function(toString(number)) FROM numbers(2); +SELECT test_function(toUInt64(2), toUInt64(2)); ``` Result: ``` text -┌─number─┬─my_function(toString(number))─┐ -│ 0 │ Processing 0 │ -│ 1 │ Processing 1 │ -└────────┴───────────────────────────────┘ +┌─test_function(toUInt64(2), toUInt64(2))─┐ +│ 4 │ +└─────────────────────────────────────────┘ ``` From a30537ca9829d63ae1fc0180c672daf54e90740c Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Sep 2021 20:15:39 +0000 Subject: [PATCH 05/17] ru translation --- docs/ru/sql-reference/functions/index.md | 63 +++++++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 92bd1c1c2f8..caee4e5c672 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -58,9 +58,68 @@ str -> str != Referer Для некоторых функций первый аргумент (лямбда-функция) может отсутствовать. В этом случае подразумевается тождественное отображение. -## Пользовательские функции {#user-defined-functions} +## Пользовательские функции SQL {#user-defined-functions} -Функции можно создавать с помощью выражения [CREATE FUNCTION](../statements/create/function.md). Для удаления таких функций используется выражение [DROP FUNCTION](../statements/drop.md#drop-function). +Функции можно создавать из лямбда выражений с помощью [CREATE FUNCTION](../statements/create/function.md). Для удаления таких функций используется выражение [DROP FUNCTION](../statements/drop.md#drop-function). + +## Исполняемые пользовательские функции {#executable-user-defined-functions} +ClickHouse может вызывать внешнюю программу или скрипт для обработки данных. Такие функции описываются в [конфигурационном файле](../../operations/configuration-files.md). А путь к нему должен быть указан в настройке `user_defined_executable_functions_config` в основной конфигурации. В пути можно использовать символ подстановки `*`, тогда будут загружены все файлы, соответствующие шаблону. Пример: +``` xml +*_function.xml +``` +Файлы с описанием функций ищутся относительно каталога, заданного в настройке `user_files_path`. + +Конфигурация функции содержит следующие нстройки: + +- `name` - имя функции. +- `command` - исполняемая команда или скрипт. +- `argument` - описание аргумента, содержащее его тип во вложенной настройке `type`. Каждый аргумент описывается отдельно. +- `format` - [формат](../../interfaces/formats.md), в котором аргументы передаются команде. +- `return_type` - тип возвращаемого значения. +- `type` - вариант запуска команды. Если задан вариант `executable`, то запускается одна команда. При указании `executable_pool` создается пул команд. +- `max_command_execution_time` - максимальное время в секундах, отводимое на обработку блока данных. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. +- `command_termination_timeout` - максимальное время завершения команды в секундах после закрытия конвейера. Если команда не завершается, то процессу отправляется сигнал SIGTERM. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. +- `pool_size` - размер пула команд. Необязательная настройка. Значение по умолчанию `16`. +- `lifetime` - интервал перезагрузки функций в секундах. Если задан `0`, то функция не перезагружается. +- `send_chunk_header` - управляет отправкой количества строк перед отправкой блока данных для обработки. Необязательная настройка. Значение по умолчанию `false`. + +Команд должна читать аргументы из STDIN и выводить результат в STDOUT. Обработка должна выполняться в цикле. То есть после обработки группы аргументов команда должна ожидать следующую группу. + +**Пример** + +XML конфигурация описывает функцию `test_function`. +``` + + + executable + test_function + UInt64 + + UInt64 + + + UInt64 + + TabSeparated + cd /; clickhouse-local --input-format TabSeparated --output-format TabSeparated --structure 'x UInt64, y UInt64' --query "SELECT x + y FROM table" + 0 + + +``` + +Запрос: + +``` sql +SELECT test_function(toUInt64(2), toUInt64(2)); +``` + +Результат: + +``` text +┌─test_function(toUInt64(2), toUInt64(2))─┐ +│ 4 │ +└─────────────────────────────────────────┘ +``` ## Обработка ошибок {#obrabotka-oshibok} From 8f576096ad0f9aa76e7d8b4d0623a5d9e4e726e4 Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Sep 2021 20:24:12 +0000 Subject: [PATCH 06/17] ru translation --- docs/en/sql-reference/statements/system.md | 2 +- docs/ru/sql-reference/statements/grant.md | 2 ++ docs/ru/sql-reference/statements/system.md | 13 +++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/en/sql-reference/statements/system.md b/docs/en/sql-reference/statements/system.md index bbe90013d11..2009d23ec54 100644 --- a/docs/en/sql-reference/statements/system.md +++ b/docs/en/sql-reference/statements/system.md @@ -87,7 +87,7 @@ SYSTEM RELOAD MODEL ## RELOAD FUNCTIONS {#query_language-system-reload-functions} -Reloads all registered [executable user defined functions](../functions/index.md#executable-user-defined-functions) or one of them from an XML configuration. +Reloads all registered [executable user defined functions](../functions/index.md#executable-user-defined-functions) or one of them from a configuration file. **Syntax** diff --git a/docs/ru/sql-reference/statements/grant.md b/docs/ru/sql-reference/statements/grant.md index 45ba9bb0343..c970d4d24f3 100644 --- a/docs/ru/sql-reference/statements/grant.md +++ b/docs/ru/sql-reference/statements/grant.md @@ -157,6 +157,8 @@ GRANT SELECT(x,y) ON db.table TO john WITH GRANT OPTION - `SYSTEM RELOAD CONFIG` - `SYSTEM RELOAD DICTIONARY` - `SYSTEM RELOAD EMBEDDED DICTIONARIES` + - `SYSTEM RELOAD FUNCTION` + - `SYSTEM RELOAD FUNCTIONS` - `SYSTEM MERGES` - `SYSTEM TTL MERGES` - `SYSTEM FETCHES` diff --git a/docs/ru/sql-reference/statements/system.md b/docs/ru/sql-reference/statements/system.md index e123f506d46..40f503937cf 100644 --- a/docs/ru/sql-reference/statements/system.md +++ b/docs/ru/sql-reference/statements/system.md @@ -10,6 +10,8 @@ toc_title: SYSTEM - [RELOAD DICTIONARY](#query_language-system-reload-dictionary) - [RELOAD MODELS](#query_language-system-reload-models) - [RELOAD MODEL](#query_language-system-reload-model) +- [RELOAD FUNCTIONS](#query_language-system-reload-functions) +- [RELOAD FUNCTION](#query_language-system-reload-functions) - [DROP DNS CACHE](#query_language-system-drop-dns-cache) - [DROP MARK CACHE](#query_language-system-drop-mark-cache) - [DROP UNCOMPRESSED CACHE](#query_language-system-drop-uncompressed-cache) @@ -80,6 +82,17 @@ SYSTEM RELOAD MODELS SYSTEM RELOAD MODEL ``` +## RELOAD FUNCTIONS {#query_language-system-reload-functions} + +Перезагружает все зарегистрированные [исполняемые пользовательские функции](../functions/index.md#executable-user-defined-functions) или одну из них из файла конфигурации. + +**Синтаксис** + +```sql +RELOAD FUNCTIONS +RELOAD FUNCTION function_name + + ## DROP DNS CACHE {#query_language-system-drop-dns-cache} Сбрасывает внутренний DNS кеш ClickHouse. Иногда (для старых версий ClickHouse) необходимо использовать эту команду при изменении инфраструктуры (смене IP адреса у другого ClickHouse сервера или сервера, используемого словарями). From c9aab06ab83539a455577783bf33888224f608bf Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Sep 2021 20:27:11 +0000 Subject: [PATCH 07/17] markup fixed --- docs/ru/sql-reference/statements/system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/statements/system.md b/docs/ru/sql-reference/statements/system.md index 40f503937cf..0eb0a5326f2 100644 --- a/docs/ru/sql-reference/statements/system.md +++ b/docs/ru/sql-reference/statements/system.md @@ -91,7 +91,7 @@ SYSTEM RELOAD MODEL ```sql RELOAD FUNCTIONS RELOAD FUNCTION function_name - +``` ## DROP DNS CACHE {#query_language-system-drop-dns-cache} From eeea3caf4988c171fbbd773fcc442340c17c71ab Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Sep 2021 20:32:38 +0000 Subject: [PATCH 08/17] typos --- docs/en/sql-reference/functions/index.md | 4 ++-- docs/ru/sql-reference/functions/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index d1958333a81..0749fd9e2d7 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -78,8 +78,8 @@ A function configuration contains the following settings: - `format` - a [format](../../interfaces/formats.md) in which arguments are passed to the command. - `return_type` - the type of a returned value. - `type` - an executable type. If `type` is set to `executable` then single command is started. If it is set to `executable_pool` then a pool of commands is created. -- `max_command_execution_time` - maximum execution time in seconds for processing block of data. This setting is valid for `executable_pool` fuctions only. Optional. Default value is `10`. -- `command_termination_timeout` - time in seconds during which a command should finish after its pipe is closed. After that time SIGTERM is sent to the process executing the command. This setting is valid for `executable_pool` fuctions only. Optional. Default value is `10`. +- `max_command_execution_time` - maximum execution time in seconds for processing block of data. This setting is valid for `executable_pool` commands only. Optional. Default value is `10`. +- `command_termination_timeout` - time in seconds during which a command should finish after its pipe is closed. After that time SIGTERM is sent to the process executing the command. This setting is valid for `executable_pool` commands only. Optional. Default value is `10`. - `pool_size` - the size of a command pool. Optional. Default value is `16`. - `lifetime` - the reload interval of a function in seconds. If it is set to `0` then the function is not reloaded. - `send_chunk_header` - controls whether to send row count before sending a chunk of data to process. Optional. Default value is `false`. diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index caee4e5c672..49af0e14dd2 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -69,7 +69,7 @@ ClickHouse может вызывать внешнюю программу или ``` Файлы с описанием функций ищутся относительно каталога, заданного в настройке `user_files_path`. -Конфигурация функции содержит следующие нстройки: +Конфигурация функции содержит следующие настройки: - `name` - имя функции. - `command` - исполняемая команда или скрипт. From 764b170319ccfa8fb60147b29eef0d91f67a49e7 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:22:06 +0300 Subject: [PATCH 09/17] Update docs/ru/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 49af0e14dd2..3352b32764c 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -63,7 +63,7 @@ str -> str != Referer Функции можно создавать из лямбда выражений с помощью [CREATE FUNCTION](../statements/create/function.md). Для удаления таких функций используется выражение [DROP FUNCTION](../statements/drop.md#drop-function). ## Исполняемые пользовательские функции {#executable-user-defined-functions} -ClickHouse может вызывать внешнюю программу или скрипт для обработки данных. Такие функции описываются в [конфигурационном файле](../../operations/configuration-files.md). А путь к нему должен быть указан в настройке `user_defined_executable_functions_config` в основной конфигурации. В пути можно использовать символ подстановки `*`, тогда будут загружены все файлы, соответствующие шаблону. Пример: +ClickHouse может вызывать внешнюю программу или скрипт для обработки данных. Такие функции описываются в [конфигурационном файле](../../operations/configuration-files.md). Путь к нему должен быть указан в настройке `user_defined_executable_functions_config` в основной конфигурации. В пути можно использовать символ подстановки `*`, тогда будут загружены все файлы, соответствующие шаблону. Пример: ``` xml *_function.xml ``` From 30eed6138ecfbe52a5f370f7d16af1aab4d3edc1 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:24:04 +0300 Subject: [PATCH 10/17] Update docs/ru/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 3352b32764c..016b613e8fb 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -77,7 +77,7 @@ ClickHouse может вызывать внешнюю программу или - `format` - [формат](../../interfaces/formats.md), в котором аргументы передаются команде. - `return_type` - тип возвращаемого значения. - `type` - вариант запуска команды. Если задан вариант `executable`, то запускается одна команда. При указании `executable_pool` создается пул команд. -- `max_command_execution_time` - максимальное время в секундах, отводимое на обработку блока данных. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. +- `max_command_execution_time` - максимальное время в секундах, которое отводится на обработку блока данных. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. - `command_termination_timeout` - максимальное время завершения команды в секундах после закрытия конвейера. Если команда не завершается, то процессу отправляется сигнал SIGTERM. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. - `pool_size` - размер пула команд. Необязательная настройка. Значение по умолчанию `16`. - `lifetime` - интервал перезагрузки функций в секундах. Если задан `0`, то функция не перезагружается. From de5d2271e5a63111d7c64796e636544a49aea0bd Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:24:30 +0300 Subject: [PATCH 11/17] Update docs/ru/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 016b613e8fb..62e7c9a6e21 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -87,7 +87,7 @@ ClickHouse может вызывать внешнюю программу или **Пример** -XML конфигурация описывает функцию `test_function`. +XML конфигурация, описывающая функцию `test_function`: ``` From 85826bb014dab432b65a0c2b46022081257ecbd2 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:24:56 +0300 Subject: [PATCH 12/17] Update docs/en/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/en/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index 0749fd9e2d7..019218941f3 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -87,7 +87,7 @@ A function configuration contains the following settings: The command must read arguments from STDIN and must output the result to STDOUT. The command must process arguments iteratively. That is after processing a chunk of arguments it must wait for the next chunk. **Example** -The following example creates `test_function` using XML configuration. +Creating `test_function` using XML configuration: ``` From 1d98170f029ff084fefcc11c5aa6f6d51363e638 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:25:25 +0300 Subject: [PATCH 13/17] Update docs/ru/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 62e7c9a6e21..dd8224368d3 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -83,7 +83,7 @@ ClickHouse может вызывать внешнюю программу или - `lifetime` - интервал перезагрузки функций в секундах. Если задан `0`, то функция не перезагружается. - `send_chunk_header` - управляет отправкой количества строк перед отправкой блока данных для обработки. Необязательная настройка. Значение по умолчанию `false`. -Команд должна читать аргументы из STDIN и выводить результат в STDOUT. Обработка должна выполняться в цикле. То есть после обработки группы аргументов команда должна ожидать следующую группу. +Команда должна читать аргументы из `STDIN` и выводить результат в `STDOUT`. Обработка должна выполняться в цикле. То есть после обработки группы аргументов команда должна ожидать следующую группу. **Пример** From 900dad6d6fe3ce79b1da04e9600eb8867ef15320 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:25:44 +0300 Subject: [PATCH 14/17] Update docs/en/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/en/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index 019218941f3..a5a9dd88e2a 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -84,7 +84,7 @@ A function configuration contains the following settings: - `lifetime` - the reload interval of a function in seconds. If it is set to `0` then the function is not reloaded. - `send_chunk_header` - controls whether to send row count before sending a chunk of data to process. Optional. Default value is `false`. -The command must read arguments from STDIN and must output the result to STDOUT. The command must process arguments iteratively. That is after processing a chunk of arguments it must wait for the next chunk. +The command must read arguments from `STDIN` and must output the result to `STDOUT`. The command must process arguments iteratively. That is after processing a chunk of arguments it must wait for the next chunk. **Example** Creating `test_function` using XML configuration: From c8a78fc2b7d5f46bb62f2e312efaa32ccdd9d2e3 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:26:12 +0300 Subject: [PATCH 15/17] Update docs/ru/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index dd8224368d3..4bdad7e3cac 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -78,7 +78,7 @@ ClickHouse может вызывать внешнюю программу или - `return_type` - тип возвращаемого значения. - `type` - вариант запуска команды. Если задан вариант `executable`, то запускается одна команда. При указании `executable_pool` создается пул команд. - `max_command_execution_time` - максимальное время в секундах, которое отводится на обработку блока данных. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. -- `command_termination_timeout` - максимальное время завершения команды в секундах после закрытия конвейера. Если команда не завершается, то процессу отправляется сигнал SIGTERM. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. +- `command_termination_timeout` - максимальное время завершения команды в секундах после закрытия конвейера. Если команда не завершается, то процессу отправляется сигнал `SIGTERM`. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`. - `pool_size` - размер пула команд. Необязательная настройка. Значение по умолчанию `16`. - `lifetime` - интервал перезагрузки функций в секундах. Если задан `0`, то функция не перезагружается. - `send_chunk_header` - управляет отправкой количества строк перед отправкой блока данных для обработки. Необязательная настройка. Значение по умолчанию `false`. From ca203c943ec9621d92c00dbfbb8ba0be6f660cd8 Mon Sep 17 00:00:00 2001 From: lehasm Date: Wed, 29 Sep 2021 08:26:32 +0300 Subject: [PATCH 16/17] Update docs/en/sql-reference/functions/index.md Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com> --- docs/en/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/sql-reference/functions/index.md b/docs/en/sql-reference/functions/index.md index a5a9dd88e2a..e86e6b37998 100644 --- a/docs/en/sql-reference/functions/index.md +++ b/docs/en/sql-reference/functions/index.md @@ -79,7 +79,7 @@ A function configuration contains the following settings: - `return_type` - the type of a returned value. - `type` - an executable type. If `type` is set to `executable` then single command is started. If it is set to `executable_pool` then a pool of commands is created. - `max_command_execution_time` - maximum execution time in seconds for processing block of data. This setting is valid for `executable_pool` commands only. Optional. Default value is `10`. -- `command_termination_timeout` - time in seconds during which a command should finish after its pipe is closed. After that time SIGTERM is sent to the process executing the command. This setting is valid for `executable_pool` commands only. Optional. Default value is `10`. +- `command_termination_timeout` - time in seconds during which a command should finish after its pipe is closed. After that time `SIGTERM` is sent to the process executing the command. This setting is valid for `executable_pool` commands only. Optional. Default value is `10`. - `pool_size` - the size of a command pool. Optional. Default value is `16`. - `lifetime` - the reload interval of a function in seconds. If it is set to `0` then the function is not reloaded. - `send_chunk_header` - controls whether to send row count before sending a chunk of data to process. Optional. Default value is `false`. From ff8140b6be0e5c3abda9ba16d40d9fb7c899ce6d Mon Sep 17 00:00:00 2001 From: Alexey Date: Wed, 29 Sep 2021 05:33:16 +0000 Subject: [PATCH 17/17] minor update --- docs/ru/sql-reference/functions/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ru/sql-reference/functions/index.md b/docs/ru/sql-reference/functions/index.md index 4bdad7e3cac..a63c76d8833 100644 --- a/docs/ru/sql-reference/functions/index.md +++ b/docs/ru/sql-reference/functions/index.md @@ -74,7 +74,7 @@ ClickHouse может вызывать внешнюю программу или - `name` - имя функции. - `command` - исполняемая команда или скрипт. - `argument` - описание аргумента, содержащее его тип во вложенной настройке `type`. Каждый аргумент описывается отдельно. -- `format` - [формат](../../interfaces/formats.md), в котором аргументы передаются команде. +- `format` - [формат](../../interfaces/formats.md) передачи аргументов. - `return_type` - тип возвращаемого значения. - `type` - вариант запуска команды. Если задан вариант `executable`, то запускается одна команда. При указании `executable_pool` создается пул команд. - `max_command_execution_time` - максимальное время в секундах, которое отводится на обработку блока данных. Эта настройка применима только для команд с вариантом запуска `executable_pool`. Необязательная настройка. Значение по умолчанию `10`.