SQL Expressions: Add setting to limit length of query (#110165)

sql_expression_query_length_limit

Set the maximum length of a SQL query that can be used in a SQL expression. Default is 10000 characters. A setting of 0 means no limit.
This commit is contained in:
Kyle Brandt
2025-08-27 12:08:25 -04:00
committed by GitHub
parent 74cfe7b803
commit dd4ffc9918
11 changed files with 88 additions and 18 deletions

View File

@@ -86,6 +86,10 @@ func UnmarshalSQLCommand(ctx context.Context, rn *rawNode, cfg *setting.Cfg) (*S
return nil, fmt.Errorf("expected sql expression to be type string, but got type %T", expressionRaw)
}
if cfg.SQLExpressionQueryLengthLimit > 0 && len(expression) > int(cfg.SQLExpressionQueryLengthLimit) {
return nil, sql.MakeQueryTooLongError(rn.RefID, cfg.SQLExpressionQueryLengthLimit)
}
formatRaw := rn.Query["format"]
format, _ := formatRaw.(string)