Executable settings like `max_command_execution_time` or `command_termination_timeout` cannot be set for `executable()` table function at all. Which means that the hardcoded values will be used.
I suggest to add it to executable function definition.
The simplest way is:
```
SELECT * FROM executable('<script name>', '<format>', (SET max_command_execution_time=100), (SELECT * FROM table))
```
As executable constructor already parses input `SELECT` statements anyway, adding `SET` statement there seems pretty logical.
Ideas? Any other better API?
I can implement that one.
{
    ASTPtr arguments;
    if (!elem_parser->parse(pos, node, expected))
        return false;
    while (true)
    {
        if (!parseOperator(pos, infix, expected))
            break;
        if (!arguments)
        {
            node = makeASTFunction(function_name, node);
            arguments = node->as<ASTFunction &>().arguments;
        }
        ASTPtr elem;
        if (!elem_parser->parse(pos, elem, expected))
            return false;
        arguments->children.push_back(elem);
    }
    return true;
}
bool ParserBetweenExpression::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)