コード例 #1
0
ファイル: SqlUtil.cs プロジェクト: seanliu96/GraphView
        internal static WBooleanExpression ConcatBooleanExpressionList(List <WBooleanExpression> booleanExprList,
                                                                       BooleanBinaryExpressionType type)
        {
            if (booleanExprList.Count == 1)
            {
                return(booleanExprList.First());
            }
            WBooleanExpression concatExpr = null;

            foreach (var booleanExpr in booleanExprList)
            {
                if (booleanExpr == null)
                {
                    continue;
                }
                WBooleanExpression newExpr = type == BooleanBinaryExpressionType.Or
                    ? GetBooleanParenthesisExpr(booleanExpr)
                    : booleanExpr;
                concatExpr = concatExpr == null ? booleanExpr
                                                : GetBooleanBinaryExpr(concatExpr, newExpr, type);
            }
            if (concatExpr == null)
            {
                return(null);
            }
            if (type == BooleanBinaryExpressionType.Or)
            {
                return(GetBooleanParenthesisExpr(concatExpr));
            }
            return(concatExpr);
        }
コード例 #2
0
 private static cs.CodeBinaryOperatorType ConvertToBinaryOperatorType(BooleanBinaryExpressionType binaryExpressionType)
 {
     if (binaryExpressionType == BooleanBinaryExpressionType.Or)
     {
         return(cs.CodeBinaryOperatorType.BooleanOr);
     }
     if (binaryExpressionType == BooleanBinaryExpressionType.And)
     {
         return(cs.CodeBinaryOperatorType.BooleanAnd);
     }
     throw new NotImplementedException("" + binaryExpressionType);
 }
コード例 #3
0
        public static string BooleanExpressionType(BooleanBinaryExpressionType btype)
        {
            switch (btype)
            {
            case Microsoft.SqlServer.TransactSql.ScriptDom.BooleanBinaryExpressionType.And:
                return("AND");

            case Microsoft.SqlServer.TransactSql.ScriptDom.BooleanBinaryExpressionType.Or:
                return("OR");

            default:
                throw new GraphViewException("Invalid boolean expression type");
            }
        }
コード例 #4
0
        public static string BooleanExpressionType(BooleanBinaryExpressionType btype)
        {
            switch (btype)
            {
            case BooleanBinaryExpressionType.And:
                return("AND");

            case BooleanBinaryExpressionType.Or:
                return("OR");

            default:
                throw new GraphViewException("Invalid boolean expression type");
            }
        }
コード例 #5
0
ファイル: JsonQuery.cs プロジェクト: seanliu96/GraphView
        public void WhereConjunction(WBooleanExpression condition, BooleanBinaryExpressionType conjunction)
        {
            Debug.Assert(condition != null);
            if (this.RawWhereClause == null)
            {
                this.RawWhereClause = condition;
                return;
            }

            this.RawWhereClause = new WBooleanBinaryExpression
            {
                FirstExpr = new WBooleanParenthesisExpression
                {
                    Expression = this.RawWhereClause
                },
                SecondExpr = new WBooleanParenthesisExpression
                {
                    Expression = condition
                },
                BooleanExpressionType = conjunction
            };
        }
コード例 #6
0
ファイル: SqlUtil.cs プロジェクト: Sun-Jc/GC-GraphView
 internal static WBooleanBinaryExpression GetBooleanBinaryExpr(WBooleanExpression firstExpr,
                                                               WBooleanExpression secondExpr, BooleanBinaryExpressionType type)
 {
     return(new WBooleanBinaryExpression()
     {
         BooleanExpressionType = type,
         FirstExpr = firstExpr,
         SecondExpr = secondExpr
     });
 }
コード例 #7
0
 // TODO: emulate sql server short-circuit behavior (may be version specific)
 public static bool Evaluate(BooleanBinaryExpressionType op, bool left, bool right) =>
 op switch
 {
コード例 #8
0
 public static string BooleanExpressionType(BooleanBinaryExpressionType btype)
 {
     switch (btype)
     {
         case Microsoft.SqlServer.TransactSql.ScriptDom.BooleanBinaryExpressionType.And:
             return "AND";
         case Microsoft.SqlServer.TransactSql.ScriptDom.BooleanBinaryExpressionType.Or:
             return "OR";
         default:
             throw new GraphViewException("Invalid boolean expression type");
     }
 }