Пример #1
0
        public override void GenerateDescriptionStatementForCreateColumnReturnColumnDescriptionStatement()
        {
            var createColumnExpression = GeneratorTestHelper.GetCreateColumnExpressionWithDescription();
            var statement = DescriptionGenerator.GenerateDescriptionStatement(createColumnExpression);

            statement.ShouldBe("EXEC sys.sp_addextendedproperty @name = N'MS_Description', @value = N'Description:TestColumn1Description', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'Table', @level1name = 'TestTable1', @level2type = N'Column',  @level2name = 'TestColumn1'");
        }
Пример #2
0
        public override void GenerateDescriptionStatementForAlterTableReturnTableDescriptionStatement()
        {
            var alterTableExpression = GeneratorTestHelper.GetAlterTableWithDescriptionExpression();
            var statement            = DescriptionGenerator.GenerateDescriptionStatement(alterTableExpression);

            statement.ShouldBe("COMMENT ON TABLE \"public\".\"TestTable1\" IS 'TestDescription';");
        }
Пример #3
0
        public override void GenerateDescriptionStatementForAlterColumnReturnColumnDescriptionStatement()
        {
            var alterColumnExpression = GeneratorTestHelper.GetAlterColumnExpressionWithDescription();
            var statement             = DescriptionGenerator.GenerateDescriptionStatement(alterColumnExpression);

            statement.ShouldBe("COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn1\" IS 'Description:TestColumn1Description';");
        }
Пример #4
0
        static void WriteJson()
        {
            var w = new Window
            {
                StartPosition = new Point(200, 200),
                Width         = 640,
                Height        = 480,
                Title         = "尝试",
                RootContainer = new Canvas()
            };
            Label l = new Label
            {
                Position = new Vector2(100, 100),
                Width    = 200,
                Height   = 50,
                Text     = "这是测试的文本"
            };

            w.RootContainer.Add(l);
            w.RootContainer.Relayout();
            DescriptionGenerator dg = new DescriptionGenerator(w);

            dg.Generate();
            var    d    = dg.GetDescription();
            string json = JsonConvert.SerializeObject(d);
            //string json = EditorJsonUtility.ToJson(d);
            var sw = File.CreateText(Application.dataPath + "/Editor/data/test.json");

            sw.WriteLine(json);
            sw.Flush();
            sw.Close();
            Debug.Log(json);
        }
Пример #5
0
        public override string Generate(CreateTableExpression expression)
        {
            foreach (var expressionColumn in expression.Columns)
            {
                expressionColumn.Name      = expressionColumn.Name.ToLower();
                expressionColumn.TableName = expressionColumn.TableName.ToLower();
            }

            var createStatement = new StringBuilder();

            createStatement.AppendFormat(
                "CREATE TABLE {0} ({1})",
                Quoter.QuoteTableName(expression.TableName, expression.SchemaName),
                Column.Generate(expression.Columns, Quoter.QuoteTableName(expression.TableName)));
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatements(expression)
                                       ?.ToList();

            createStatement.Append(";");

            if (descriptionStatement != null && descriptionStatement.Count != 0)
            {
                createStatement.Append(string.Join(";", descriptionStatement.ToArray()));
                createStatement.Append(";");
            }
            return(createStatement.ToString());
        }
        public override void GenerateDescriptionStatementForCreateColumnReturnColumnDescriptionStatement()
        {
            var createColumnExpression = GeneratorTestHelper.GetCreateColumnExpressionWithDescription();
            var statement = DescriptionGenerator.GenerateDescriptionStatement(createColumnExpression);

            statement.ShouldBe("COMMENT ON COLUMN TestTable1.TestColumn1 IS 'TestColumn1Description'");
        }
Пример #7
0
        public override void GenerateDescriptionStatementForAlterColumnReturnColumnDescriptionStatement()
        {
            var alterColumnExpression = GeneratorTestHelper.GetAlterColumnExpressionWithDescription();
            var statement             = DescriptionGenerator.GenerateDescriptionStatement(alterColumnExpression);

            statement.ShouldBe("IF EXISTS (SELECT * FROM fn_listextendedproperty(N'MS_Description', N'SCHEMA', N'dbo', N'TABLE', N'TestTable1', N'Column', N'TestColumn1' )) EXEC sys.sp_dropextendedproperty @name=N'MS_Description', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'Table', @level1name = 'TestTable1', @level2type = N'Column',  @level2name = 'TestColumn1';EXEC sys.sp_addextendedproperty @name = N'MS_Description', @value = N'TestColumn1Description', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'Table', @level1name = 'TestTable1', @level2type = N'Column',  @level2name = 'TestColumn1'");
        }
Пример #8
0
 private static void WriteLogMessage()
 {
     AnsiConsole.MarkupLine(
         "[grey]LOG:[/] " +
         DescriptionGenerator.Generate() +
         "[grey]...[/]");
 }
Пример #9
0
        public override string Generate(AlterTableExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            return(string.Format("{0};",
                                 string.IsNullOrEmpty(descriptionStatement)
                ? base.Generate(expression) : descriptionStatement));
        }
Пример #10
0
        public override void GenerateDescriptionStatementForAlterColumnReturnColumnDescriptionStatementWithAdditionalDescriptions()
        {
            var alterColumnExpression = GeneratorTestHelper.GetAlterColumnExpressionWithDescriptionWithAdditionalDescriptions();
            var statement             = DescriptionGenerator.GenerateDescriptionStatement(alterColumnExpression);

            statement.ShouldBe("COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn1\" IS 'Description:TestColumn1Description" + Environment.NewLine +
                               "AdditionalColumnDescriptionKey1:AdditionalColumnDescriptionValue1';");
        }
Пример #11
0
        public override void GenerateDescriptionStatementForCreateColumnReturnColumnDescriptionStatementWithAdditionalDescriptions()
        {
            var createColumnExpression = GeneratorTestHelper.GetCreateColumnExpressionWithDescriptionWithAdditionalDescriptions();
            var statement = DescriptionGenerator.GenerateDescriptionStatement(createColumnExpression);

            statement.ShouldBe("COMMENT ON COLUMN TestTable1.TestColumn1 IS 'Description:TestColumn1Description" + Environment.NewLine +
                               "AdditionalColumnDescriptionKey1:AdditionalColumnDescriptionValue1'");
        }
Пример #12
0
        public override void GenerateDescriptionStatementsForCreateTableReturnTableDescriptionStatement()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescription();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression);

            var result = statements.First();

            result.ShouldBe("EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'TestDescription', @level0type=N'SCHEMA', @level0name='dbo', @level1type=N'TABLE', @level1name='TestTable1'");
        }
Пример #13
0
        public override void GenerateDescriptionStatementsForCreateTableReturnTableDescriptionAndColumnDescriptionsStatements()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescriptionAndColumnDescriptions();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression).ToArray();

            var result = string.Join(";", statements);

            result.ShouldBe("EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'TestDescription', @level0type=N'SCHEMA', @level0name='dbo', @level1type=N'TABLE', @level1name='TestTable1';EXEC sys.sp_addextendedproperty @name = N'MS_Description', @value = N'Description:TestColumn1Description', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'Table', @level1name = 'TestTable1', @level2type = N'Column',  @level2name = 'TestColumn1';EXEC sys.sp_addextendedproperty @name = N'MS_Description', @value = N'Description:TestColumn2Description', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'Table', @level1name = 'TestTable1', @level2type = N'Column',  @level2name = 'TestColumn2'");
        }
Пример #14
0
        public override void GenerateDescriptionStatementsForCreateTableReturnTableDescriptionAndColumnDescriptionsStatements()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescriptionAndColumnDescriptions();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression).ToArray();

            var result = string.Join("", statements);

            result.ShouldBe("COMMENT ON TABLE \"public\".\"TestTable1\" IS 'TestDescription';COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn1\" IS 'Description:TestColumn1Description';COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn2\" IS 'Description:TestColumn2Description';");
        }
Пример #15
0
        public override void GenerateDescriptionStatementsForCreateTableReturnTableDescriptionStatement()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescription();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression);

            var result = statements.First();

            result.ShouldBe("COMMENT ON TABLE \"public\".\"TestTable1\" IS 'TestDescription';");
        }
Пример #16
0
        public override void GenerateDescriptionStatementsForCreateTableReturnTableDescriptionAndColumnDescriptionsWithAdditionalDescriptionsStatements()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescriptionAndColumnDescriptionsAndAdditionalDescriptions();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression).ToArray();

            var result = string.Join(";", statements);

            result.ShouldBe(
                "COMMENT ON TABLE TestTable1 IS 'TestDescription';COMMENT ON COLUMN TestTable1.TestColumn1 IS 'TestColumn1Description';COMMENT ON COLUMN TestTable1.TestColumn2 IS 'TestColumn2Description'");
        }
Пример #17
0
        public override string Generate(AlterTableExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(base.Generate(expression));
            }
            return(descriptionStatement);
        }
        public void GenerateDescriptionStatementsWithSingleQuoteForCreateTableReturnTableDescriptionStatement()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescription();

            createTableExpression.TableDescription = "Test Description with single quote (') character here >> '";
            var statements = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression);

            var result = statements.First();

            result.ShouldBe("COMMENT ON TABLE TestTable1 IS 'Test Description with single quote ('') character here >> '''");
        }
Пример #19
0
        public override string Generate(CreateTableExpression expression)
        {
            var descriptionStatements      = DescriptionGenerator.GenerateDescriptionStatements(expression);
            var createTableStatement       = base.Generate(expression);
            var descriptionStatementsArray = descriptionStatements as string[] ?? descriptionStatements.ToArray();

            if (!descriptionStatementsArray.Any())
            {
                return(createTableStatement);
            }
            return(ComposeStatements(createTableStatement, descriptionStatementsArray));
        }
        GenerateDescriptionStatementsForCreateTableReturnTableDescriptionAndColumnDescriptionsWithAdditionalDescriptionsStatements()
        {
            var createTableExpression = GeneratorTestHelper.GetCreateTableWithTableDescriptionAndColumnDescriptionsAndAdditionalDescriptions();
            var statements            = DescriptionGenerator.GenerateDescriptionStatements(createTableExpression).ToArray();

            var result = string.Join(string.Empty, statements);

            result.ShouldBe(
                "COMMENT ON TABLE \"public\".\"TestTable1\" IS 'TestDescription';COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn1\" IS 'Description:TestColumn1Description" + Environment.NewLine +
                "AdditionalColumnDescriptionKey1:AdditionalColumnDescriptionValue1';COMMENT ON COLUMN \"public\".\"TestTable1\".\"TestColumn2\" IS 'Description:TestColumn2Description" + Environment.NewLine +
                "AdditionalColumnDescriptionKey2:AdditionalColumnDescriptionValue2';");
        }
        public override string Generate(AlterColumnExpression expression)
        {
            var alterTableStatement  = string.Format("ALTER TABLE {0}.{1}", Quoter.QuoteSchemaName(expression.SchemaName), base.Generate(expression));
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(alterTableStatement);
            }

            return(ComposeStatements(alterTableStatement, new[] { descriptionStatement }));
        }
Пример #22
0
        public override string Generate(AlterTableExpression expression)
        {
            var alterStatement       = new StringBuilder();
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            alterStatement.Append(base.Generate(expression));
            if (string.IsNullOrEmpty(descriptionStatement))
            {
                alterStatement.Append(descriptionStatement);
            }
            return(alterStatement.ToString());
        }
        public override string Generate(CreateColumnExpression expression)
        {
            var alterTableStatement  = base.Generate(expression);
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(alterTableStatement);
            }

            return(ComposeStatements(alterTableStatement, new[] { descriptionStatement }));
        }
        public override string Generate(CreateTableExpression expression)
        {
            var descriptionStatements      = DescriptionGenerator.GenerateDescriptionStatements(expression);
            var createTableStatement       = string.Format("CREATE TABLE {0}.{1}", Quoter.QuoteSchemaName(expression.SchemaName), base.Generate(expression));
            var descriptionStatementsArray = descriptionStatements as string[] ?? descriptionStatements.ToArray();

            if (!descriptionStatementsArray.Any())
            {
                return(createTableStatement);
            }

            return(ComposeStatements(createTableStatement, descriptionStatementsArray));
        }
Пример #25
0
        public override string Generate(AlterColumnExpression expression)
        {
            var alterStatement = new StringBuilder();

            alterStatement.AppendFormat("ALTER TABLE {0} {1};", Quoter.QuoteTableName(expression.TableName, expression.SchemaName), ((RedshiftColumn)Column).GenerateAlterClauses(expression.Column));
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (!string.IsNullOrEmpty(descriptionStatement))
            {
                alterStatement.Append(";");
                alterStatement.Append(descriptionStatement);
            }
            return(alterStatement.ToString());
        }
Пример #26
0
        public override string Generate(CreateColumnExpression expression)
        {
            var createStatement = new StringBuilder();

            createStatement.AppendFormat("ALTER TABLE {0} ADD {1};", Quoter.QuoteTableName(expression.TableName, expression.SchemaName), Column.Generate(expression.Column));
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (!string.IsNullOrEmpty(descriptionStatement))
            {
                createStatement.Append(";");
                createStatement.Append(descriptionStatement);
            }
            return(createStatement.ToString());
        }
Пример #27
0
        public override string Generate(CreateTableExpression expression)
        {
            var createStatement = new StringBuilder();
            var tableName       = Quoter.QuoteTableName(expression.TableName);

            createStatement.Append(string.Format("CREATE TABLE {0}.{1} ({2})", Quoter.QuoteSchemaName(expression.SchemaName), tableName, Column.Generate(expression.Columns, tableName)));
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatements(expression);

            if (descriptionStatement != null && descriptionStatement.Any())
            {
                createStatement.Append(";");
                createStatement.Append(string.Join(";", descriptionStatement.ToArray()));
            }
            return(createStatement.ToString());
        }
Пример #28
0
        public override string Generate(CreateColumnExpression expression)
        {
            var createStatement = new StringBuilder();

            createStatement.Append(base.Generate(expression));

            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (!string.IsNullOrEmpty(descriptionStatement))
            {
                createStatement.Append(";");
                createStatement.Append(descriptionStatement);
            }

            return(createStatement.ToString());
        }
Пример #29
0
        public override string Generate(AlterColumnExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(base.Generate(expression));
            }

            var wrappedAlterColumnStatement = WrapStatementInExecuteImmediateBlock(base.Generate(expression));

            var alterColumnWithDescriptionBuilder = new StringBuilder(wrappedAlterColumnStatement);

            alterColumnWithDescriptionBuilder.Append(WrapStatementInExecuteImmediateBlock(descriptionStatement));

            return(WrapInBlock(alterColumnWithDescriptionBuilder.ToString()));
        }
Пример #30
0
        public override string Generate(CreateColumnExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(string.Format("{0};", base.Generate(expression)));
            }

            var wrappedCreateColumnStatement = base.Generate(expression);

            var createColumnWithDescriptionBuilder = new StringBuilder(wrappedCreateColumnStatement);

            createColumnWithDescriptionBuilder.Append(descriptionStatement);

            return(WrapInBlock(createColumnWithDescriptionBuilder.ToString()));
        }