Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #6
0
        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);
        }