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 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 string ToString(string indent) { var sb = new StringBuilder(128); sb.Append(FirstExpr.ToString(indent)); sb.Append(NotDefined ? " NOT BETWEEN " : " BETWEEN "); if (SecondExpr.OneLine()) { sb.Append(SecondExpr.ToString("")); } else { sb.Append("\r\n"); sb.Append(SecondExpr.ToString(indent + " ")); } sb.Append(" AND "); if (ThirdExpr.OneLine()) { sb.Append(ThirdExpr.ToString("")); } else { sb.Append("\r\n"); sb.Append(ThirdExpr.ToString(indent)); } return(sb.ToString()); }
public override void AcceptChildren(WSqlFragmentVisitor visitor) { if (FirstExpr != null) { FirstExpr.Accept(visitor); } if (SecondExpr != null) { SecondExpr.Accept(visitor); } base.AcceptChildren(visitor); }
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)); } }
internal override string ToString(string indent) { var sb = new StringBuilder(512); sb.Append(FirstExpr.ToString(indent)); sb.AppendFormat(" {0} ", TsqlFragmentToString.BinaryExpressionType(ExpressionType)); if (SecondExpr.OneLine()) { sb.Append(SecondExpr.ToString("")); } else { sb.Append("\r\n"); sb.Append(SecondExpr.ToString(indent)); } return(sb.ToString()); }
internal override string ToString(string indent) { var sb = new StringBuilder(512); sb.AppendFormat(CultureInfo.CurrentCulture, FirstExpr.ToString(indent)); sb.Append(NotDefined ? " NOT LIKE " : " LIKE "); if (SecondExpr.OneLine()) { sb.Append(SecondExpr.ToString("")); } else { sb.Append("\r\n"); sb.AppendFormat(CultureInfo.CurrentCulture, SecondExpr.ToString(indent + " ")); } return(sb.ToString()); }
internal override bool OneLine() { return(FirstExpr.OneLine() && SecondExpr.OneLine()); }