コード例 #1
0
        public PredicateExpression(IExpression left, ExpressionOperator op,
                                   PredicateQuantifier quantifier, BracketedExpression subQuery)
        {
            if (left == null)
            {
                throw new ArgumentNullException("left");
            }

            if (op == null)
            {
                throw new ArgumentNullException("op");
            }

            if (quantifier == null)
            {
                throw new ArgumentNullException("quantifier");
            }

            if (subQuery == null)
            {
                throw new ArgumentNullException("subQuery");
            }

            m_left       = left;
            m_right      = subQuery;
            m_operator   = op;
            m_quantifier = quantifier;
        }
コード例 #2
0
        public INode Clone()
        {
            BracketedExpression bracketedExpression =
                new BracketedExpression(m_term.Clone());

            bracketedExpression.Spaced = m_spaced;
            return(bracketedExpression);
        }
コード例 #3
0
        public override void PerformAfter(BracketedExpression node)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            if (node.Spaced)
            {
                m_sql.Append(' ');
            }

            m_sql.Append(')');
        }
コード例 #4
0
        static void ChopJoinChains(AliasedItem node)
        {
            Table head = GetHead(node);
            Table next = head.Next;

            while (next != null)
            {
                Table tail = next.Next;
                if (tail != null)
                {
                    next.Next = null;
                    BracketedExpression expr = new BracketedExpression(head);
                    head      = new Table(expr);
                    head.Next = tail;
                }

                next = tail;
            }

            node.Item = head;
        }
コード例 #5
0
 public virtual void PerformAfter(BracketedExpression node)
 {
 }
コード例 #6
0
 public virtual void PerformBefore(BracketedExpression node)
 {
 }
コード例 #7
0
 public override void PerformAfter(BracketedExpression node)
 {
     PopKnownParent(node);
 }
コード例 #8
0
 public override void PerformBefore(BracketedExpression node)
 {
     PushParent(node);
 }