private bool EvaluateExpression(List <RawTableRow> rawDataRows, SqlInBooleanExpression expression) { var type = Helper.DetermineType(expression.InExpression, expression.InExpression, _RawData); var source = Helper.GetValue(expression.InExpression, type, _RawData, rawDataRows); foreach (var child in expression.ComparisonValue.Children) { if (child is SqlScalarExpression scalarExpression) { var inValue = Helper.GetValue(scalarExpression, type, _RawData, rawDataRows); var compare = HelperConditional.IsPredicateCorrect(source, inValue, SqlComparisonBooleanExpressionType.Equals); if (compare) { return(true); } } else { throw new NotImplementedException("We expect each compare value to be a scalar expression"); } } return(false); }
public RowFilterIn(RawData rawData, SqlInBooleanExpression expression) { _Expression = expression; _RawData = rawData; _InvertResult = _Expression.HasNot; }
public override void Visit(SqlInBooleanExpression codeObject) { }