public override void ExplicitVisit(ExecuteStatement node)
        {
            Console.WriteLine((node.ExecuteSpecification.ExecutableEntity as ExecutableProcedureReference).ProcedureReference.ProcedureReference.Name.BaseIdentifier.Value);

            // get the script token first
            for (int tmpLoop = node.FirstTokenIndex; tmpLoop <= node.LastTokenIndex; tmpLoop++)
            {
                Console.Write(node.ScriptTokenStream[tmpLoop].Text);

                if (node.ScriptTokenStream[tmpLoop].TokenType == TSqlTokenType.Semicolon)
                {

                    // breakpoint here and examine the token types
                    // of special interest woud be the semicolns

                    Console.WriteLine(string.Format("Token {0} is a semicolon", tmpLoop));
                }
            }

            base.ExplicitVisit(node);
        }
        private string GetExtendedProperty()
        {
            var execExtendedProperty = new ExecuteStatement();
            execExtendedProperty.ExecuteSpecification = new ExecuteSpecification();

            var name = new ChildObjectName();
            name.Identifiers.Add(new Identifier(){Value = _procedureName});

            var procedureReference = new ProcedureReference();
            procedureReference.Name = "sp_addextendedproperty".ToSchemaObjectName();

            var entity = new ExecutableProcedureReference();
            entity.ProcedureReference = new ProcedureReferenceName();
            entity.ProcedureReference.ProcedureReference = procedureReference;

            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@name", "tSQLt.TestClass"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@value", 1));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0type", "SCHEMA"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0name", _procedureName));

            execExtendedProperty.ExecuteSpecification.ExecutableEntity = entity;

            return GenerateScript(execExtendedProperty);
        }
        private void CreateAssertDefinition()
        {
            var fakeTable = new ExecuteStatement();
            fakeTable.ExecuteSpecification = new ExecuteSpecification();

            var procedureReference = new ProcedureReference();
            procedureReference.Name = new SchemaObjectName();
            procedureReference.Name.Identifiers.Add("tSQLt".ToIdentifier());
            procedureReference.Name.Identifiers.Add("AssertEquals".ToIdentifier());

            var entity = new ExecutableProcedureReference();
            entity.ProcedureReference = new ProcedureReferenceName();
            entity.ProcedureReference.ProcedureReference = procedureReference;

            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("TRUE"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("FALSE"));

            var messageParameter = new ExecuteParameter();
            var messageValue = new StringLiteral {IsNational = true, Value = "Error Not Implemented"};
            messageParameter.ParameterValue = messageValue;
            entity.Parameters.Add(messageParameter);

            fakeTable.ExecuteSpecification.ExecutableEntity = entity;

            _testProcedure.StatementList.Statements.Add(fakeTable);
        }
        private void CreateFakeTableDefinition(SchemaObjectName table)
        {
            var fakeTable = new ExecuteStatement();
            fakeTable.ExecuteSpecification = new ExecuteSpecification();

            var procedureReference = new ProcedureReference();
            procedureReference.Name = new SchemaObjectName();
            procedureReference.Name.Identifiers.Add("tSQLt".ToIdentifier());
            procedureReference.Name.Identifiers.Add("FakeTable".ToIdentifier());

            var entity = new ExecutableProcedureReference();
            entity.ProcedureReference = new ProcedureReferenceName();
            entity.ProcedureReference.ProcedureReference = procedureReference;

            entity.Parameters.Add(
                ParametersHelper.CreateStoredProcedureParameter(string.Format("{0}", table.BaseIdentifier.Value)));
            entity.Parameters.Add(
                ParametersHelper.CreateStoredProcedureParameter(string.Format("{0}", table.SchemaIdentifier.Value)));

            fakeTable.ExecuteSpecification.ExecutableEntity = entity;

            _testProcedure.StatementList.Statements.Add(fakeTable);
        }
Exemplo n.º 5
0
 public override void Visit(ExecuteStatement node) { this.action(node); }
        public override void ExplicitVisit(ExecuteStatement node)
        {
            Console.WriteLine((node.ExecuteSpecification.ExecutableEntity as ExecutableProcedureReference).ProcedureReference.ProcedureReference.Name.BaseIdentifier.Value);

            base.ExplicitVisit(node);
        }
 public override void ExplicitVisit(ExecuteStatement fragment)
 {
     _fragments.Add(fragment);
 }
 public void ProcessExecuteStatement(ExecuteStatement Fragment)
 {
     ExecutableEntity ExecutableEntity = Fragment.ExecuteSpecification.ExecutableEntity;
     ProcessExecutableEntity(ExecutableEntity);
 }