示例#1
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode)
            {
                TableName = ((ObjectNameNode)node).Name;
            }
            else if (node.NodeName == "column_set_list")
            {
                Columns = node.FindNodes <UpdateColumnNode>();
            }
            else if (node.NodeName == "update_where")
            {
                WhereExpression = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName == "limit_opt")
            {
                var child = node.FindNode <IntegerLiteralNode>();
                if (child != null)
                {
                    Limit = (int)child.Value;
                }
            }

            return(base.OnChildNode(node));
        }
示例#2
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "drop_procedure_trigger")
            {
                var idNode = node.FindNode <ObjectNameNode>();
                if (idNode == null)
                {
                    throw new SqlParseException("Could not find the name of the trigger to delete.");
                }

                TriggerName = idNode.Name;
            }
            else if (node.NodeName == "drop_callback_trigger")
            {
                CallbackTrigger = true;

                var tableNameNode = node.FindNode <ObjectNameNode>();
                if (tableNameNode == null)
                {
                    throw new SqlParseException("Could not find the name of the table in a DROP CALLBACK TRIGGER");
                }

                TableName = tableNameNode.Name;
            }

            return(base.OnChildNode(node));
        }
示例#3
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode)
            {
                SequenceName = ((ObjectNameNode)node).Name;
            }
            else if (node.NodeName.Equals("start_opt"))
            {
                StartWith = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName.Equals("increment_opt"))
            {
                IncrementBy = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName.Equals("minvalue_opt"))
            {
                MinValue = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName.Equals("maxvalue_opt"))
            {
                MaxValue = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName.Equals("cycle_opt"))
            {
                Cycle = node.ChildNodes.Any();
            }
            else if (node.NodeName.Equals("cache_opt"))
            {
                Cache = node.FindNode <IExpressionNode>();
            }

            return(base.OnChildNode(node));
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("label_opt")) {
                Label = node.FindNode<StringLiteralNode>().Value;
            } else if (node.NodeName.Equals("when_opt")) {
                WhenExpression = node.FindNode<IExpressionNode>();
            }

            return base.OnChildNode(node);
        }
示例#5
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("label_opt")) {
                Label = node.FindNode<IdentifierNode>().Text;
            } else if (node.NodeName.Equals("when_opt")) {
                WhenExpression = node.FindNode<IExpressionNode>();
            }

            return base.OnChildNode(node);
        }
示例#6
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("label_opt"))
            {
                Label = node.FindNode <IdentifierNode>().Text;
            }
            else if (node.NodeName.Equals("when_opt"))
            {
                WhenExpression = node.FindNode <IExpressionNode>();
            }

            return(base.OnChildNode(node));
        }
示例#7
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("label_opt"))
            {
                Label = node.FindNode <StringLiteralNode>().Value;
            }
            else if (node.NodeName.Equals("when_opt"))
            {
                WhenExpression = node.FindNode <IExpressionNode>();
            }

            return(base.OnChildNode(node));
        }
示例#8
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode) {
                TableName = ((ObjectNameNode) node).Name;
            } else if (node.NodeName == "column_set_list") {
                Columns = node.FindNodes<UpdateColumnNode>();
            } else if (node.NodeName == "update_where") {
                WhereExpression = node.FindNode<IExpressionNode>();
            } else if (node.NodeName == "limit_opt") {
                var child = node.FindNode<IntegerLiteralNode>();
                if (child != null)
                    Limit = (int) child.Value;
            }

            return base.OnChildNode(node);
        }
示例#9
0
        /// <inheritdoc/>
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "join_type")
            {
                GetJoinType(node);
            }
            else if (node is IFromSourceNode)
            {
                Source = (IFromSourceNode)node;
            }
            else if (node.NodeName == "from_source")
            {
                Source = (IFromSourceNode)node.ChildNodes.FirstOrDefault();
            }
            else if (node.NodeName == "on_opt")
            {
                OnExpression = node.FindNode <IExpressionNode>();
            }
            else if (node.NodeName == "join_opt")
            {
                var join = node.ChildNodes.FirstOrDefault();
                if (join != null)
                {
                    NextJoin = (JoinNode)join;
                }
            }

            return(base.OnChildNode(node));
        }
示例#10
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode) {
                TableName = ((ObjectNameNode) node).Name;
            } else if (node.NodeName.Equals("insert_source")) {
                var colNode = node.FindByName("column_list_opt");
                if (colNode != null)
                    ColumnNames = colNode.FindNodes<IdentifierNode>().Select(x => x.Text);

                ValuesInsert = node.FindNode<ValuesInsertNode>();
                SetInsert = node.FindNode<SetInsertNode>();
                QueryInsert = node.FindNode<QueryInsertNode>();
            }

            return base.OnChildNode(node);
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("exception_name_opt"))
                ExceptionName = node.FindNode<IdentifierNode>().Text;

            return base.OnChildNode(node);
        }
 private void GetFromCursor(ISqlNode node)
 {
     var idNode = node.FindNode<IdentifierNode>();
     if (idNode != null) {
         FromCursor = true;
         CursorName = idNode.Text;
     }
 }
示例#13
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("exception_name_opt"))
            {
                ExceptionName = node.FindNode <IdentifierNode>().Text;
            }

            return(base.OnChildNode(node));
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode) {
                UserName = ((IdentifierNode) node).Text;
            } else if (node.NodeName.Equals("identified")) {
                Identificator = node.FindNode<IUserIdentificatorNode>();
            }

            return base.OnChildNode(node);
        }
示例#15
0
        private void GetFromCursor(ISqlNode node)
        {
            var idNode = node.FindNode <IdentifierNode>();

            if (idNode != null)
            {
                FromCursor = true;
                CursorName = idNode.Text;
            }
        }
示例#16
0
        private void GetUserType(ISqlNode node)
        {
            IsPrimitive = false;
            TypeName    = node.FindNode <ObjectNameNode>().Name;
            var optMetaList = node.FindByName("user_type_meta_opt");

            if (optMetaList != null)
            {
                GetMeta(optMetaList.ChildNodes.FirstOrDefault());
            }
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode) {
                SequenceName = ((ObjectNameNode) node).Name;
            } else if (node.NodeName.Equals("start_opt")) {
                StartWith = node.FindNode<IExpressionNode>();
            } else if (node.NodeName.Equals("increment_opt")) {
                IncrementBy = node.FindNode<IExpressionNode>();
            } else if (node.NodeName.Equals("minvalue_opt")) {
                MinValue = node.FindNode<IExpressionNode>();
            } else if (node.NodeName.Equals("maxvalue_opt")) {
                MaxValue = node.FindNode<IExpressionNode>();
            } else if (node.NodeName.Equals("cycle_opt")) {
                Cycle = node.ChildNodes.Any();
            } else if (node.NodeName.Equals("cache_opt")) {
                Cache = node.FindNode<IExpressionNode>();
            }

            return base.OnChildNode(node);
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "drop_procedure_trigger") {
                var idNode = node.FindNode<ObjectNameNode>();
                if (idNode == null)
                    throw new SqlParseException("Could not find the name of the trigger to delete.");

                TriggerName = idNode.Name;
            } else if (node.NodeName == "drop_callback_trigger") {
                CallbackTrigger = true;

                var tableNameNode = node.FindNode<ObjectNameNode>();
                if (tableNameNode == null)
                    throw new SqlParseException("Could not find the name of the table in a DROP CALLBACK TRIGGER");

                TableName = tableNameNode.Name;
            }

            return base.OnChildNode(node);
        }
示例#19
0
        public static TNode FindNode <TNode>(this ISqlNode node) where TNode : class, ISqlNode
        {
            var foundNode = node.FindNode(typeof(TNode));

            if (foundNode == null)
            {
                return(null);
            }

            return((TNode)foundNode);
        }
示例#20
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode)
            {
                TableName = ((ObjectNameNode)node).Name;
            }
            else if (node.NodeName.Equals("insert_source"))
            {
                var colNode = node.FindByName("column_list_opt");
                if (colNode != null)
                {
                    ColumnNames = colNode.FindNodes <IdentifierNode>().Select(x => x.Text);
                }

                ValuesInsert = node.FindNode <ValuesInsertNode>();
                SetInsert    = node.FindNode <SetInsertNode>();
                QueryInsert  = node.FindNode <QueryInsertNode>();
            }

            return(base.OnChildNode(node));
        }
示例#21
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode)
            {
                UserName = ((IdentifierNode)node).Text;
            }
            else if (node.NodeName.Equals("identified"))
            {
                Identificator = node.FindNode <IUserIdentificatorNode>();
            }

            return(base.OnChildNode(node));
        }
示例#22
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("plsql_label_opt")) {
                var labelNode = node.FindNode<LabelNode>();
                if (labelNode != null)
                    Label = labelNode.Text;
            } else if (node.NodeName.Equals("declare_statement_opt")) {
                Declarations = node.FindNodes<IDeclareNode>();
            } else if (node is PlSqlCodeBlockNode) {
                CodeBlock = (PlSqlCodeBlockNode) node;
            }

            return base.OnChildNode(node);
        }
示例#23
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("plsql_label_opt"))
            {
                var labelNode = node.FindNode <LabelNode>();
                if (labelNode != null)
                {
                    Label = labelNode.Text;
                }
            }
            else if (node.NodeName.Equals("declare_statement_opt"))
            {
                Declarations = node.FindNodes <IDeclareNode>();
            }
            else if (node is PlSqlCodeBlockNode)
            {
                CodeBlock = (PlSqlCodeBlockNode)node;
            }

            return(base.OnChildNode(node));
        }
示例#24
0
        /// <inheritdoc/>
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "join_type") {
                GetJoinType(node);
            } else if (node is IFromSourceNode) {
                Source = (IFromSourceNode) node;
            } else if (node.NodeName == "from_source") {
                Source = (IFromSourceNode) node.ChildNodes.FirstOrDefault();
            } else if (node.NodeName == "on_opt") {
                OnExpression = node.FindNode<IExpressionNode>();
            } else if (node.NodeName == "join_opt") {
                var join = node.ChildNodes.FirstOrDefault();
                if (join != null)
                    NextJoin = (JoinNode) join;
            }

            return base.OnChildNode(node);
        }
示例#25
0
 private void GetUserType(ISqlNode node)
 {
     IsPrimitive = false;
     TypeName = node.FindNode<ObjectNameNode>().Name;
     var optMetaList = node.FindByName("user_type_meta_opt");
     if (optMetaList != null) {
         GetMeta(optMetaList.ChildNodes.FirstOrDefault());
     }
 }