public bool IsValid(List <RawTableRow> rawDataRows) { var leftIsValid = EvaluateSide(rawDataRows, _Expression.Left); var rightIsValid = EvaluateSide(rawDataRows, _Expression.Right); return(HelperConditional.IsTrue(_Expression.Operator, leftIsValid, rightIsValid) ^ _InvertResult); }
public bool IsValid(List <RawTableRow> rawDataRows) { var left = Helper.GetValue(_Expression.Left, _Type, _RawData, rawDataRows); var right = Helper.GetValue(_Expression.Right, _Type, _RawData, rawDataRows); return(HelperConditional.IsPredicateCorrect(left, right, _Expression.ComparisonOperator) ^ _InvertResult); }
private bool EvaluateExpression(List <RawTableRow> rawDataRows, SqlBinaryBooleanExpression expression) { var leftIsValid = Evaluate(rawDataRows, expression.Left); var rightIsValid = Evaluate(rawDataRows, expression.Right); return(HelperConditional.IsTrue(expression.Operator, leftIsValid, rightIsValid)); }
public bool IsValid(List <RawTableJoinRow> rawDataRowList, List <MemoryDbDataReader.ReaderFieldData> fields) { var left = Helper.GetValue(_Expression.Left, _Type, _RawData, rawDataRowList); var right = Helper.GetValue(_Expression.Right, _Type, _RawData, rawDataRowList); return(HelperConditional.IsPredicateCorrect(left, right, _Expression.ComparisonOperator) ^ _InvertResult); }
private bool EvaluateExpression(List <RawTableRow> rawDataRows, SqlComparisonBooleanExpression expression) { var type = Helper.DetermineType(expression.Left, expression.Right, _RawData); var left = Helper.GetValue(expression.Left, type, _RawData, rawDataRows); var right = Helper.GetValue(expression.Right, type, _RawData, rawDataRows); return(HelperConditional.IsPredicateCorrect(left, right, expression.ComparisonOperator)); }
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); }