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.
break;
        if (was_open)
        {
            if (!close.ignore(pos, expected))
                break;
        }
        if (!arrow.ignore(pos, expected))
            break;
        if (!elem_parser.parse(pos, expression, expected))
            return false;
        
        auto lambda = std::make_shared<ASTFunction>();
        node = lambda;
        lambda->name = "lambda";
        auto outer_arguments = std::make_shared<ASTExpressionList>();
        lambda->arguments = outer_arguments;
        lambda->children.push_back(lambda->arguments);
        auto tuple = std::make_shared<ASTFunction>();
        outer_arguments->children.push_back(tuple);
        tuple->name = "tuple";
        tuple->arguments = inner_arguments;
        tuple->children.push_back(inner_arguments);
        outer_arguments->children.push_back(expression);
        return true;
    }
    while (false);
    pos = begin;
    return elem_parser.parse(pos, node, expected);
}
bool ParserTableFunctionExpression::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)