mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 21:12:37 +08:00
SQL Expressions: Add more SQLNodes and funcs to allow list (#100227)
sql_expr: Add more Nodes and funcs to allow list
This commit is contained in:
@ -54,7 +54,13 @@ func allowedNode(node sqlparser.SQLNode) (b bool) {
|
||||
case *sqlparser.AliasedExpr, *sqlparser.AliasedTableExpr:
|
||||
return
|
||||
|
||||
case *sqlparser.BinaryExpr:
|
||||
case *sqlparser.AndExpr, *sqlparser.OrExpr:
|
||||
return
|
||||
|
||||
case *sqlparser.BinaryExpr, *sqlparser.UnaryExpr:
|
||||
return
|
||||
|
||||
case sqlparser.BoolVal:
|
||||
return
|
||||
|
||||
case sqlparser.ColIdent, *sqlparser.ColName, sqlparser.Columns:
|
||||
@ -87,6 +93,9 @@ func allowedNode(node sqlparser.SQLNode) (b bool) {
|
||||
case *sqlparser.Select, sqlparser.SelectExprs:
|
||||
return
|
||||
|
||||
case *sqlparser.SetOp:
|
||||
return
|
||||
|
||||
case *sqlparser.StarExpr:
|
||||
return
|
||||
|
||||
@ -102,6 +111,9 @@ func allowedNode(node sqlparser.SQLNode) (b bool) {
|
||||
case *sqlparser.Over:
|
||||
return
|
||||
|
||||
case *sqlparser.ParenExpr:
|
||||
return
|
||||
|
||||
case *sqlparser.Subquery:
|
||||
return
|
||||
|
||||
@ -124,6 +136,9 @@ func allowedFunction(f *sqlparser.FuncExpr) (b bool) {
|
||||
b = true // so don't have to return true in every case but default
|
||||
|
||||
switch strings.ToLower(f.Name.String()) {
|
||||
case "if":
|
||||
return
|
||||
|
||||
case "sum", "avg", "count", "min", "max":
|
||||
return
|
||||
|
||||
|
Reference in New Issue
Block a user