2021-09-07 23:55:17 +00:00
|
|
|
#include "UserDefinedExecutableFunction.h"
|
|
|
|
|
|
|
|
#include <Functions/IFunction.h>
|
|
|
|
#include <Functions/FunctionFactory.h>
|
|
|
|
#include <Functions/FunctionHelpers.h>
|
|
|
|
|
|
|
|
#include <DataStreams/ShellCommandSource.h>
|
|
|
|
#include <DataStreams/formatBlock.h>
|
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
|
|
|
UserDefinedExecutableFunction::UserDefinedExecutableFunction(
|
2021-09-10 15:02:06 +00:00
|
|
|
const UserDefinedExecutableFunctionConfiguration & configuration_,
|
2021-09-17 13:04:44 +00:00
|
|
|
const ExternalLoadableLifetime & lifetime_,
|
|
|
|
std::shared_ptr<ProcessPool> process_pool_)
|
2021-09-10 15:02:06 +00:00
|
|
|
: configuration(configuration_)
|
2021-09-07 23:55:17 +00:00
|
|
|
, lifetime(lifetime_)
|
2021-09-17 13:04:44 +00:00
|
|
|
, process_pool(process_pool_)
|
2021-09-07 23:55:17 +00:00
|
|
|
{
|
2021-09-17 13:04:44 +00:00
|
|
|
if (!process_pool && configuration.type == UserDefinedExecutableFunctionType::executable_pool)
|
|
|
|
process_pool = std::make_shared<ProcessPool>(configuration.pool_size == 0 ? std::numeric_limits<int>::max() : configuration.pool_size);
|
2021-09-07 23:55:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
};
|