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.
f_left_expr->children.emplace_back(f_left_expr->arguments);
        f_right_expr->arguments = args_right_expr;
        f_right_expr->children.emplace_back(f_right_expr->arguments);
        args_combined_expression->children.emplace_back(f_left_expr);
        args_combined_expression->children.emplace_back(f_right_expr);
        f_combined_expression->arguments = args_combined_expression;
        f_combined_expression->children.emplace_back(f_combined_expression->arguments);
        node = f_combined_expression;
    }
    return true;
}
bool ParserTernaryOperatorExpression::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
{
    ParserToken symbol1(TokenType::QuestionMark);
    ParserToken symbol2(TokenType::Colon);
    ASTPtr elem_cond;
    ASTPtr elem_then;
    ASTPtr elem_else;
    if (!elem_parser.parse(pos, elem_cond, expected))
        return false;
    if (!symbol1.ignore(pos, expected))
        node = elem_cond;
    else
    {
        if (!elem_parser.parse(pos, elem_then, expected))
            return false;
        if (!symbol2.ignore(pos, expected))
            return false;
        if (!elem_parser.parse(pos, elem_else, expected))
            return false;