Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Commit 674a501

Browse files
authored
Fix using '=' operator against an array (#973)
It fixes "[Logs] Web Traffic" dashboard panel: Before: <img width="821" alt="Screenshot 2024-11-12 at 12 14 35" src="https://github.com/user-attachments/assets/d594da02-4615-49f2-b489-6b87af7b6724"> After: <img width="829" alt="Screenshot 2024-11-12 at 12 15 30" src="https://github.com/user-attachments/assets/899e04ea-9076-4da6-869c-b1db67a96e7f">
1 parent 32af378 commit 674a501

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

quesma/quesma/schema_array_transformer.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,19 @@ func NewArrayTypeVisitor(resolver arrayTypeResolver) model.ExprVisitor {
4949
dbType := resolver.dbColumnType(column.ColumnName)
5050
if strings.HasPrefix(dbType, "Array") {
5151
op := strings.ToUpper(e.Op)
52+
op = strings.TrimSpace(op)
5253
switch {
5354
case (op == "ILIKE" || op == "LIKE") && dbType == "Array(String)":
5455

5556
variableName := "x"
5657
lambda := model.NewLambdaExpr([]string{variableName}, model.NewInfixExpr(model.NewLiteral(variableName), op, e.Right.Accept(b).(model.Expr)))
5758
return model.NewFunction("arrayExists", lambda, e.Left)
5859

59-
case e.Op == "=":
60+
case op == "=":
6061
return model.NewFunction("has", e.Left, e.Right.Accept(b).(model.Expr))
6162

6263
default:
63-
logger.Error().Msgf("Unhandled array infix operation %s, column %v (%v)", e.Op, column.ColumnName, dbType)
64+
logger.Error().Msgf("Unhandled array infix operation '%s', column '%v' ('%v')", e.Op, column.ColumnName, dbType)
6465
}
6566
}
6667
}

0 commit comments

Comments
 (0)