示例#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 is IdentifierNode)
            {
                CursorName = ((IdentifierNode)node).Text;
            }
            else if (node.NodeName.Equals("cursor_args_opt"))
            {
                Parameters = node.FindNodes <CursorParameterNode>();
            }
            else if (node is IExpressionNode)
            {
                QueryExpression = (SqlQueryExpressionNode)node;
            }
            else if (node.NodeName.Equals("insensitive_opt"))
            {
                Insensitive = node.ChildNodes.Any();
            }
            else if (node.NodeName.Equals("scroll_opt"))
            {
                Scroll = node.ChildNodes.Any();
            }

            return(base.OnChildNode(node));
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "user_list") {
                UserNames = node.FindNodes<IdentifierNode>().Select(x => x.Text);
            }

            return base.OnChildNode(node);
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("insert_tuple")) {
                Values = node.FindNodes<InsertValueNode>();
            }

            return base.OnChildNode(node);
        }
示例#5
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("insert_tuple"))
            {
                Values = node.FindNodes <InsertValueNode>();
            }

            return(base.OnChildNode(node));
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName == "user_list")
            {
                UserNames = node.FindNodes <IdentifierNode>().Select(x => x.Text);
            }

            return(base.OnChildNode(node));
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("plsql_statement_list")) {
                GetStatements(node);
            } else if (node.NodeName.Equals("exception_block_opt")) {
                ExceptionHandlers = node.FindNodes<ExceptionHandlerNode>();
            }

            return base.OnChildNode(node);
        }
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode) {
                UserName = ((IdentifierNode) node).Text;
            } else if (node.NodeName.Equals("action_list")) {
                Actions = node.FindNodes<IAlterUserActionNode>();
            }

            return base.OnChildNode(node);
        }
示例#9
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode) {
                TableName = ((ObjectNameNode) node).Name;
            } else if (node is CreateTableNode) {
                CreateTable = (CreateTableNode)node;
            } else if (node.NodeName == "alter_actions") {
                Actions = node.FindNodes<IAlterActionNode>();
            }

            return base.OnChildNode(node);
        }
示例#10
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode)
            {
                UserName = ((IdentifierNode)node).Text;
            }
            else if (node.NodeName.Equals("action_list"))
            {
                Actions = node.FindNodes <IAlterUserActionNode>();
            }

            return(base.OnChildNode(node));
        }
示例#11
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node.NodeName.Equals("plsql_statement_list"))
            {
                GetStatements(node);
            }
            else if (node.NodeName.Equals("exception_block_opt"))
            {
                ExceptionHandlers = node.FindNodes <ExceptionHandlerNode>();
            }

            return(base.OnChildNode(node));
        }
示例#12
0
        private void GetMeta(ISqlNode node)
        {
            if (node == null)
            {
                return;
            }

            var metas = node.FindNodes <DataTypeMetaNode>();

            foreach (var meta in metas)
            {
                Metadata[meta.Name] = meta.Value;
            }
        }
示例#13
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);
        }
示例#14
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode) {
                CursorName = ((IdentifierNode) node).Text;
            } else if (node.NodeName.Equals("cursor_args_opt")) {
                Parameters = node.FindNodes<CursorParameterNode>();
            } else if (node is IExpressionNode) {
                QueryExpression = (SqlQueryExpressionNode) node;
            } else if (node.NodeName.Equals("insensitive_opt")) {
                Insensitive = node.ChildNodes.Any();
            } else if (node.NodeName.Equals("scroll_opt")) {
                Scroll = node.ChildNodes.Any();
            }

            return base.OnChildNode(node);
        }
示例#15
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);
        }
示例#16
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is ObjectNameNode)
            {
                TableName = ((ObjectNameNode)node).Name;
            }
            else if (node is CreateTableNode)
            {
                CreateTable = (CreateTableNode)node;
            }
            else if (node.NodeName == "alter_actions")
            {
                Actions = node.FindNodes <IAlterActionNode>();
            }

            return(base.OnChildNode(node));
        }
示例#17
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode)
            {
                ColumnName = ((IdentifierNode)node).Text;
            }
            else if (node is DataTypeNode)
            {
                DataType = ((DataTypeNode)node);
            }
            else if (node.NodeName.Equals("column_default_or_identity_opt"))
            {
                GetDefaultOrIdentity(node);
            }
            else if (node.NodeName.Equals("column_constraint_list"))
            {
                Constraints = node.FindNodes <ColumnConstraintNode>();
            }

            return(base.OnChildNode(node));
        }
示例#18
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));
        }
示例#19
0
        public static IEnumerable <TNode> FindNodes <TNode>(this ISqlNode node) where TNode : class, ISqlNode
        {
            var foundNodes = node.FindNodes(typeof(TNode));

            return(foundNodes.Cast <TNode>());
        }
示例#20
0
        private void GetMeta(ISqlNode node)
        {
            if (node == null)
                return;

            var metas = node.FindNodes<DataTypeMetaNode>();
            foreach (var meta in metas) {
                Metadata[meta.Name] = meta.Value;
            }
        }
示例#21
0
        protected override ISqlNode OnChildNode(ISqlNode node)
        {
            if (node is IdentifierNode) {
                ColumnName = ((IdentifierNode) node).Text;
            } else if (node is DataTypeNode) {
                DataType = ((DataTypeNode) node);
            } else if (node.NodeName.Equals("column_default_or_identity_opt")) {
                GetDefaultOrIdentity(node);
            } else if (node.NodeName.Equals("column_constraint_list")) {
                Constraints = node.FindNodes<ColumnConstraintNode>();
            }

            return base.OnChildNode(node);
        }