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); }
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); }