Deveel.Data.InsertTests.CreateTestTable C# (CSharp) Method

CreateTestTable() private static method

private static CreateTestTable ( IQuery query, string testName ) : void
query IQuery
testName string
return void
        private static void CreateTestTable(IQuery query, string testName)
        {
            var tableName = ObjectName.Parse("APP.test_table");

            query.Access().CreateTable(table => {
                table
                    .Named(tableName)
                    .WithColumn(column => column.Named("id")
                        .HavingType(PrimitiveTypes.Integer())
                        .WithDefault(SqlExpression.FunctionCall("UNIQUEKEY",
                            new SqlExpression[] {SqlExpression.Constant(tableName.FullName)})))
                    .WithColumn("first_name", PrimitiveTypes.String())
                    .WithColumn("last_name", PrimitiveTypes.String())
                    .WithColumn("birth_date", PrimitiveTypes.DateTime())
                    .WithColumn(column => column
                        .Named("active")
                        .HavingType(PrimitiveTypes.Boolean())
                        .NotNull(testName.Equals("NotNullColumnViolation")));

                if (testName.EndsWith("WithLob")) {
                    table.WithColumn("bio", PrimitiveTypes.Clob(2048));
                } else if (testName.EndsWith("WithUserType")) {
                    var userType = query.Access().ResolveUserType("type1");
                    table.WithColumn("user_obj", userType);
                }
            });

            query.Access().AddPrimaryKey(tableName, "id", "PK_TEST_TABLE");
        }