|
@@ -137,4 +137,52 @@ public class FastsqlSchemaTest {
|
|
|
SchemaObject table = repository.findTable("test");
|
|
|
Assert.assertTrue(table != null);
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void test_polardb_x() throws Throwable {
|
|
|
+ SchemaRepository repository = new SchemaRepository(JdbcConstants.MYSQL);
|
|
|
+ repository.setDefaultSchema("test");
|
|
|
+
|
|
|
+ String sql1 = "CREATE TABLE `test1` (\n" + " `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n"
|
|
|
+ + " `serialNo` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',\n"
|
|
|
+ + " `user_id` int(11) DEFAULT NULL COMMENT '用户id',\n" + " PRIMARY KEY (`id`)\n"
|
|
|
+ + ") ENGINE = InnoDB PARTITION BY KEY(`tenant_id`,`id`)\n" + "PARTITIONS 21 tablegroup = `tg_p_msg`";
|
|
|
+ repository.console(sql1);
|
|
|
+ SchemaObject table = repository.findTable("test1");
|
|
|
+ Assert.assertTrue(table != null);
|
|
|
+
|
|
|
+
|
|
|
+ String sql2 = "CREATE TABLE `test2` (\n" + " `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n"
|
|
|
+ + " `serialNo` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',\n"
|
|
|
+ + " `user_id` int(11) DEFAULT NULL COMMENT '用户id',\n" + " PRIMARY KEY (`id`)\n"
|
|
|
+ + ") ENGINE = InnoDB single";
|
|
|
+ repository.console(sql2);
|
|
|
+ table = repository.findTable("test2");
|
|
|
+ Assert.assertTrue(table != null);
|
|
|
+
|
|
|
+
|
|
|
+ String sql3 = "CREATE TABLE `test3` (\n" + " `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n"
|
|
|
+ + " `serialNo` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',\n"
|
|
|
+ + " `user_id` int(11) DEFAULT NULL COMMENT '用户id',\n" + " PRIMARY KEY (`id`)\n"
|
|
|
+ + ") ENGINE = InnoDB locality = 'dn=polardbx-ng28-dn-1,polardbx-ng28-dn-2'";
|
|
|
+ repository.console(sql3);
|
|
|
+ table = repository.findTable("test3");
|
|
|
+ Assert.assertTrue(table != null);
|
|
|
+
|
|
|
+ String sql4 = "CREATE TABLE test4(\n" + " order_id int AUTO_INCREMENT primary key,\n"
|
|
|
+ + " customer_id int,\n" + " country varchar(64),\n" + " city varchar(64),\n"
|
|
|
+ + " order_time datetime not null)\n" + "PARTITION BY LIST COLUMNS(country,city)\n" + "(\n"
|
|
|
+ + " PARTITION p1 VALUES IN (('China','Shanghai')) LOCALITY = 'dn=polardbx-ng28-dn-2',\n"
|
|
|
+ + " PARTITION p2 VALUES IN (('China','Beijing')) LOCALITY = 'dn=polardbx-ng28-dn-2',\n"
|
|
|
+ + " PARTITION p3 VALUES IN (('China','Hangzhou')) ,\n"
|
|
|
+ + " PARTITION p4 VALUES IN (('China','Nanjing')) ,\n"
|
|
|
+ + " PARTITION p5 VALUES IN (('China','Guangzhou')) ,\n"
|
|
|
+ + " PARTITION p6 VALUES IN (('China','Shenzhen')) ,\n"
|
|
|
+ + " PARTITION p7 VALUES IN (('China','Wuhan')) ,\n"
|
|
|
+ + " PARTITION p8 VALUES IN (('America','New York'))\n"
|
|
|
+ + ") LOCALITY = 'dn=polardbx-ng28-dn-0,polardbx-ng28-dn-1';";
|
|
|
+ repository.console(sql4);
|
|
|
+ table = repository.findTable("test4");
|
|
|
+ Assert.assertTrue(table != null);
|
|
|
+ }
|
|
|
}
|