예제 #1
0
        public void TestModelBuildWithIncompleteFunctionDefinition()
        {
            const string plsqlText = @"CREATE OR REPLACE FUNCTION";

            var statement     = (OracleStatement)Parser.Parse(plsqlText).First();
            var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

            Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
        }
예제 #2
0
        public void TestModelBuildWithUnfinishedParameterDesclaration()
        {
            const string plsqlText =
                @"CREATE PACKAGE BODY test_package IS
	PROCEDURE test_function1(p) IS BEGIN NULL; END;
END;";

            var statement     = (OracleStatement)Parser.Parse(plsqlText).First();
            var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

            Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
        }
예제 #3
0
        public void TestModelBuildWithInvalidSyntaxtPlSqlVariableDeclarations()
        {
            const string plsqlText =
                @"DECLARE
	invalid_declaration1 :;
BEGIN
	NULL;
END;";

            var statement     = (OracleStatement)Parser.Parse(plsqlText).First();
            var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

            Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
        }
예제 #4
0
        public void TestModelBuildWhenMistypingLoppInsteadOfLoop()
        {
            const string plsqlText =
                @"BEGIN
	FOR i IN 1..10 LOOP
		NULL;
	END LOPP;
END;";

            var statement     = (OracleStatement)Parser.Parse(plsqlText).Single();
            var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

            Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
        }
예제 #5
0
        public void TestModelBuildWithMistypedPlSqlVariableDeclaration()
        {
            const string plsqlText =
                @"CREATE OR REPLACE PACKAGE BODY MV_PANELMANAGEMENT
AS
    statistics_view_count CONSTANT INTEGER := 11;

    PROCEDURE DROP_CONSTRAINTS IS BEGIN NULL; END;
    
    PROCEDURE REFRESH_SOURCES
    IS
        job)
    BEGIN
        BEGIN
            job_statement := job_statement;
        END;
    END;
END;";

            var statement     = (OracleStatement)Parser.Parse(plsqlText).First();
            var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

            Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
        }
예제 #6
0
		public void TestModelBuildWithIncompleteFunctionDefinition()
		{
			const string plsqlText = @"CREATE OR REPLACE FUNCTION";

			var statement = (OracleStatement)OracleSqlParser.Instance.Parse(plsqlText).First();
			var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

			Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
		}
예제 #7
0
		public void TestModelBuildWithMistypedPlSqlVariableDeclaration()
		{
			const string plsqlText =
@"CREATE OR REPLACE PACKAGE BODY MV_PANELMANAGEMENT
AS
    statistics_view_count CONSTANT INTEGER := 11;

    PROCEDURE DROP_CONSTRAINTS IS BEGIN NULL; END;
    
    PROCEDURE REFRESH_SOURCES
    IS
        job)
    BEGIN
        BEGIN
            job_statement := job_statement;
        END;
    END;
END;";

			var statement = (OracleStatement)OracleSqlParser.Instance.Parse(plsqlText).First();
			var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

			Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
		}
예제 #8
0
		public void TestModelBuildWithUnfinishedParameterDesclaration()
		{
			const string plsqlText =
@"CREATE PACKAGE BODY test_package IS
	PROCEDURE test_function1(p) IS BEGIN NULL; END;
END;";

			var statement = (OracleStatement)OracleSqlParser.Instance.Parse(plsqlText).First();
			var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

			Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
		}
예제 #9
0
		public void TestModelBuildWithInvalidSyntaxtPlSqlVariableDeclarations()
		{
			const string plsqlText =
@"DECLARE
	invalid_declaration1 :;
BEGIN
	NULL;
END;";

			var statement = (OracleStatement)OracleSqlParser.Instance.Parse(plsqlText).First();
			var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);

			Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
		}
예제 #10
0
		public void TestModelBuildWhenMistypingLoppInsteadOfLoop()
		{
			const string plsqlText =
@"BEGIN
	FOR i IN 1..10 LOOP
		NULL;
	END LOPP;
END;";

			var statement = (OracleStatement)OracleSqlParser.Instance.Parse(plsqlText).Single();
			var semanticModel = new OraclePlSqlStatementSemanticModel(plsqlText, statement, TestFixture.DatabaseModel);
			Should.NotThrow(() => semanticModel.Build(CancellationToken.None));
		}