Beispiel #1
0
        private PredicateBracketValue CreateBracketValue(SqlServerCommandParser.PredicateContext context)
        {
            PredicateLeftBracketValue predicateLeftBracketValue = null != context.subquery()
                ? new PredicateLeftBracketValue(context.subquery().LP_().Symbol.StartIndex, context.subquery().LP_().Symbol.StopIndex)
                : new PredicateLeftBracketValue(context.LP_().Symbol.StartIndex, context.LP_().Symbol.StopIndex);
            PredicateRightBracketValue predicateRightBracketValue = null != context.subquery()
                ? new PredicateRightBracketValue(context.subquery().RP_().Symbol.StartIndex, context.subquery().RP_().Symbol.StopIndex)
                : new PredicateRightBracketValue(context.RP_().Symbol.StartIndex, context.RP_().Symbol.StopIndex);

            return(new PredicateBracketValue(predicateLeftBracketValue, predicateRightBracketValue));
        }
Beispiel #2
0
        private ICollection <IExpressionSegment> GetExpressionSegments(SqlServerCommandParser.PredicateContext context)
        {
            ICollection <IExpressionSegment> result = new LinkedList <IExpressionSegment>();

            if (null != context.subquery())
            {
                SqlServerCommandParser.SubqueryContext subquery = context.subquery();
                result.Add(new SubQueryExpressionSegment(new SubQuerySegment(subquery.Start.StartIndex, subquery.Stop.StopIndex, (SelectCommand)Visit(context.subquery()))));
                return(result);
            }

            foreach (var expr in context.expr())
            {
                result.Add((IExpressionSegment)Visit(expr));
            }

            return(result);
        }