Esempio n. 1
0
        internal override ScalarFunction CompileToFunction(QueryCompilationContext context, GraphViewCommand command)
        {
            ScalarFunction f1 = FirstExpr.CompileToFunction(context, command);
            ScalarFunction f2 = SecondExpr.CompileToFunction(context, command);

            return(new BinaryScalarFunction(f1, f2, ExpressionType));
        }
        internal override BooleanFunction CompileToFunction(QueryCompilationContext context, GraphViewCommand command)
        {
            ScalarFunction f1 = FirstExpr.CompileToFunction(context, command);
            ScalarFunction f2 = SecondExpr.CompileToFunction(context, command);

            return(new ComparisonFunction(f1, f2, ComparisonType));
        }
        internal override BooleanFunction CompileToFunction(QueryCompilationContext context, GraphViewConnection dbConnection)
        {
            BooleanFunction bf1 = FirstExpr.CompileToFunction(context, dbConnection);
            BooleanFunction bf2 = SecondExpr.CompileToFunction(context, dbConnection);

            if (BooleanExpressionType == BooleanBinaryExpressionType.And)
            {
                return(new BooleanBinaryFunction(bf1, bf2, BooleanBinaryFunctionType.And));
            }
            else
            {
                return(new BooleanBinaryFunction(bf1, bf2, BooleanBinaryFunctionType.Or));
            }
        }