Deveel.Data.Sql.Query.RangeSelectNode.RangeSetCalculator.VisitBinary C# (CSharp) Method

VisitBinary() public method

public VisitBinary ( SqlBinaryExpression binaryEpression ) : SqlExpression
binaryEpression Deveel.Data.Sql.Expressions.SqlBinaryExpression
return Deveel.Data.Sql.Expressions.SqlExpression
            public override SqlExpression VisitBinary(SqlBinaryExpression binaryEpression)
            {
                if (binaryEpression.ExpressionType == SqlExpressionType.And) {
                    rangeSet = UpdateRange(binaryEpression.Left);
                    rangeSet = UpdateRange(binaryEpression.Right);
                } else if (binaryEpression.ExpressionType == SqlExpressionType.Or) {
                    var left = CalcExpression(binaryEpression.Left);
                    var right = CalcExpression(binaryEpression.Right);

                    rangeSet = rangeSet.Union(left);
                    rangeSet = rangeSet.Union(right);
                } else {
                    rangeSet = UpdateRange(binaryEpression);
                }

                return base.VisitBinary(binaryEpression);
            }