(row map[string]ValueInterface, expressionTree ast.Expression, commandName string)
| 670 | } |
| 671 | |
| 672 | func isFulfillingFilters(row map[string]ValueInterface, expressionTree ast.Expression, commandName string) (bool, error) { |
| 673 | switch mappedExpression := expressionTree.(type) { |
| 674 | case *ast.OperationExpression: |
| 675 | return processOperationExpression(row, mappedExpression, commandName) |
| 676 | case *ast.BooleanExpression: |
| 677 | return processBooleanExpression(mappedExpression) |
| 678 | case *ast.ConditionExpression: |
| 679 | return processConditionExpression(row, mappedExpression, commandName) |
| 680 | case *ast.ContainExpression: |
| 681 | return processContainExpression(row, mappedExpression) |
| 682 | |
| 683 | default: |
| 684 | return false, &UnsupportedExpressionTypeError{commandName: commandName, variable: fmt.Sprintf("%s", mappedExpression)} |
| 685 | } |
| 686 | } |
| 687 | |
| 688 | func processConditionExpression(row map[string]ValueInterface, conditionExpression *ast.ConditionExpression, commandName string) (bool, error) { |
| 689 | valueLeft, err := getTifierValue(conditionExpression.Left, row) |
no test coverage detected