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