package com.taobao.tddl.qatest;
import com.taobao.tddl.common.exception.NotSupportException;
/**
* 此类对运行的表做定义 数组中均为表名 表名后缀是Index表示二级索引,包含一个字段的索引 表名后缀是twoIndex表示二级索引,包含两个字段的组合索引
* 表名后缀是threeIndex表示二级索引,包含两三字段的组合索引 表名后缀是oneGroup_oneAtom 表示单库单表
* 表名后缀是oneGroup_mutilAtom 表示单库多表 表名后缀是oneGroup_mutilAtom 表示多库多表
* 表中名包含msyql字段的调用的mysql数据库,其他的均为bdb数据库
* 表normaltbl_mutilGroup_twoIndex_complexRule为模拟线上配置规则,特别测试用例
*/
public class ExecuteTableName {
// 几种case :
// [0]单库单表 (一个group,对应一个atom)
// [1]单库单表 二级索引是一个字段组成
// [2]单库单表 二级索引是二个字段组成
// [3]单库单表 二级索引是三个字段组成
// [4]单库多表(有分表情况,一个group对应多个atom)
// [5]单库多表(有分表情况,一个group对应多个atom)二级索引是一个字段组成
// [6]单库多表(有分表情况,一个group对应多个atom)二级索引是二个字段组成
// [7]单库多表(有分表情况,一个group对应多个atom)二级索引是两个字段组成 二级索引是strongConsistent
// [8]单库多表(有分表情况,一个group对应多个atom)二级索引是三个字段组成
// [9]多库多表(有分库分表情况,一个group对应多个atom)
// [10]多库多表(有分库分表情况,一个group对应多个atom) 二级索引是一个字段组成
// [11]多库多表(有分库分表情况,一个group对应多个atom) 二级索引是一个字段组成 二级索引是strongConsistent
// [12]多库多表(有分库分表情况,一个group对应多个atom) 二级索引是二个字段组成
// [13]多库多表(有分库分表情况,一个group对应多个atom) 二级索引是二个字段组成 二级索引是strongConsistent
// [14]多库多表(有分库分表情况,一个group对应多个atom) 二级索引是二个字段组成
/**
* 单个表,表名为normaltbl
*/
public static String[][] normaltblTable(String db) {
if (db.equals("bdb")) {
String[][] object = {
// case[0]
{ "normaltbl_oneGroup_oneAtom" },
// case[4]
{ "normaltbl_oneGroup_mutilAtom" },
// case[9]
{ "normaltbl_mutilGroup" }, };
return object;
} else if (db.equals("tdhs")) {
String[][] object = {
// case[0]
{ "tdhs_normaltbl_oneGroup_oneAtom" },
// case[4]
{ "tdhs_normaltbl_oneGroup_mutilAtom" },
// case[9]
{ "tdhs_normaltbl_mutilGroup" }, };
return object;
} else if (db.equals("mysql")) {
String[][] object = {
// case[0]
{ "mysql_normaltbl_oneGroup_oneAtom" },
// case[4]
{ "mysql_normaltbl_oneGroup_mutilAtom" },
// case[9]
{ "mysql_normaltbl_mutilGroup" },
// case[0] oceanbase
{ "ob_normaltbl_oneGroup_oneAtom" }, };
return object;
} else if (db.equals("hbase")) {
String[][] object = {
// case[0]
{ "hbase_normaltbl_oneGroup_oneAtom" } };
return object;
}
throw new NotSupportException();
}
/**
* 单个表,表名为student
*/
public static String[][] studentTable(String db) {
if (db.equals("bdb")) {
String[][] object = {
// case[0]
{ "student_oneGroup_oneAtom" },
// case[4]
{ "student_oneGroup_mutilAtom" },
// case[9]
{ "student_mutilGroup" } };
return object;
} else if (db.equals("mysql")) {
String[][] object = {
// case[0]
{ "mysql_student_oneGroup_oneAtom" },
// case[4]
{ "mysql_student_oneGroup_mutilAtom" },
// case[9]
{ "mysql_student_mutilGroup" },
// case[0] oceanbase
{ "ob_student_oneGroup_oneAtom" }, };
return object;
} else if (db.equals("tdhs")) {
String[][] object = {
// case[0]
{ "tdhs_student_oneGroup_oneAtom" },
// case[4]
{ "tdhs_student_oneGroup_mutilAtom" },
// case[9]
{ "tdhs_student_mutilGroup" } };
return object;
}
throw new NotSupportException();
}
/**
* 两个表,表名分表为normaltbl,student
*
* @return
*/
public static String[][] normaltblStudentTable(String db) {
if (db.equals("bdb")) {
String[][] object = {
// case[0]
{ "normaltbl_oneGroup_oneAtom", "student_oneGroup_oneAtom" },
// case[4]
{ "normaltbl_oneGroup_mutilAtom", "student_oneGroup_mutilAtom" },
// case[9]
{ "normaltbl_mutilGroup", "student_mutilGroup" }, };
return object;
} else if (db.equals("mysql")) {
String[][] object = {
// case[0]
{ "mysql_normaltbl_oneGroup_oneAtom", "mysql_student_oneGroup_oneAtom" },
// case[4]
{ "mysql_normaltbl_oneGroup_mutilAtom", "mysql_student_oneGroup_mutilAtom" },
// case[9]
{ "mysql_normaltbl_mutilGroup", "mysql_student_mutilGroup" },
// case[0] oceanbase
{ "ob_normaltbl_oneGroup_oneAtom", "ob_student_oneGroup_oneAtom" },
// case[0] mysql join oceanbase
{ "mysql_normaltbl_oneGroup_oneAtom", "ob_student_oneGroup_oneAtom" },
{ "ob_normaltbl_oneGroup_oneAtom", "mysql_student_oneGroup_oneAtom" },
// case[4] mysql join oceanbase
{ "mysql_normaltbl_oneGroup_mutilAtom", "ob_student_oneGroup_oneAtom" },
{ "ob_normaltbl_oneGroup_oneAtom", "mysql_student_oneGroup_mutilAtom" },
// case[9] mysql join oceanbase
{ "mysql_normaltbl_mutilGroup", "ob_student_oneGroup_oneAtom" },
{ "ob_normaltbl_oneGroup_oneAtom", "mysql_student_mutilGroup" },
};
return object;
} else if (db.equals("tdhs")) {
String[][] object = {
// case[0]
{ "tdhs_normaltbl_oneGroup_oneAtom", "tdhs_student_oneGroup_oneAtom" },
// case[4]
{ "tdhs_normaltbl_oneGroup_mutilAtom", "tdhs_student_oneGroup_mutilAtom" },
// case[9]
{ "tdhs_normaltbl_mutilGroup", "tdhs_student_mutilGroup" }, };
return object;
}
throw new NotSupportException();
}
/**
* mysql两个表,表名分表为host_info,hostgroup_info
*
* @return
*/
public static String[][] mysqlHostinfoHostgroupTable(String db) {
if (db.equals("bdb")) {
String[][] object = {};
return object;
} else if (db.equals("mysql")) {
String[][] object = {
// case[0]
{ "mysql_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_oneGroup_oneAtom" },
// case[4]
{ "mysql_host_info_oneGroup_mutilAtom", "mysql_hostgroup_info_oneGroup_mutilAtom" },
// case[9]
{ "mysql_host_info_mutilGroup", "mysql_hostgroup_info_mutilGroup" },
// case[0] oceanbase
{ "ob_host_info_oneGroup_oneAtom", "ob_hostgroup_info_oneGroup_oneAtom" },
// case[0] mysql join oceanbase
{ "mysql_host_info_oneGroup_oneAtom", "ob_hostgroup_info_oneGroup_oneAtom" },
{ "ob_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_oneGroup_oneAtom" },
// case[4] mysql join oceanbase
{ "mysql_host_info_oneGroup_mutilAtom", "ob_hostgroup_info_oneGroup_oneAtom" },
{ "ob_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_oneGroup_mutilAtom" },
// case[9] mysql join oceanbase
{ "mysql_host_info_mutilGroup", "ob_hostgroup_info_oneGroup_oneAtom" },
{ "ob_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_mutilGroup" }, };
return object;
}
throw new NotSupportException();
}
/**
* 五张表,表名分别为host_infoTableName,hostgroup_infoTableName
* studentTableName,module_infoTableName,module_hostTableName
*/
public static String[][] hostinfoHostgoupStudentModuleinfoModulehostTable(String db) {
if (db.equals("bdb")) {
String[][] object = {
// case[0]
{ "host_info_oneGroup_oneAtom", "hostgroup_info_oneGroup_oneAtom", "student_oneGroup_oneAtom",
"module_info_oneGroup_oneAtom", "module_host_oneGroup_oneAtom" },
// case[0]特殊
// (一个group,对应一个atom,其中mysql_hostgroup_info_oneGroup_oneAtom_otherDb在不同的数据库中)
{ "host_info_oneGroup_oneAtom", "hostgroup_info_oneGroup_oneAtom_otherDb",
"student_oneGroup_oneAtom", "module_info_oneGroup_oneAtom", "module_host_oneGroup_oneAtom" },
// case[4]
{ "host_info_oneGroup_mutilAtom", "hostgroup_info_oneGroup_mutilAtom",
"student_oneGroup_mutilAtom", "module_info_oneGroup_mutilAtom",
"module_host_oneGroup_mutilAtom" },
// case[9]
{ "host_info_mutilGroup", "hostgroup_info_mutilGroup", "student_mutilGroup",
"module_info_mutilGroup", "module_host_oneGroup_mutilAtom" },
// case[9]特殊
// 其中host_info_mutilGroup不带索引,hostgroup_info_mutilGroup带索引
{ "host_info_oneGroup_mutilAtom", "hostgroup_info_mutilGroup", "student_mutilGroup",
"module_info_mutilGroup", "module_host_oneGroup_mutilAtom" } };
return object;
} else if (db.equals("mysql")) {
String[][] object = {
// case[0]
{ "mysql_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_oneGroup_oneAtom",
"mysql_student_oneGroup_oneAtom", "mysql_module_info_oneGroup_oneAtom",
"mysql_module_host_oneGroup_oneAtom" },
// case[0]特殊
// (一个group,对应一个atom,其中mysql_mysql_hostgroup_info_oneGroup_oneAtom_otherDb在不同的数据库中)
{ "mysql_host_info_oneGroup_oneAtom", "mysql_hostgroup_info_oneGroup_oneAtom_otherDb",
"mysql_student_oneGroup_oneAtom", "mysql_module_info_oneGroup_oneAtom",
"mysql_module_host_oneGroup_oneAtom" },
// case[4]
{ "mysql_host_info_oneGroup_mutilAtom", "mysql_hostgroup_info_oneGroup_mutilAtom",
"mysql_student_oneGroup_mutilAtom", "mysql_module_info_oneGroup_mutilAtom",
"mysql_module_host_oneGroup_mutilAtom" },
// case[9]
{ "mysql_host_info_mutilGroup", "mysql_hostgroup_info_mutilGroup", "mysql_student_mutilGroup",
"mysql_module_info_mutilGroup", "mysql_module_host_oneGroup_mutilAtom" },
// case[9]特殊
// 其中mysql_host_info_mutilGroup不带索引,mysql_hostgroup_info_mutilGroup带索引
{ "mysql_host_info_oneGroup_mutilAtom", "mysql_hostgroup_info_mutilGroup",
"mysql_student_mutilGroup", "mysql_module_info_mutilGroup",
"mysql_module_host_oneGroup_mutilAtom" }
};
return object;
} else if (db.equals("tdhs")) {
String[][] object = {
// case[0]
{ "tdhs_host_info_oneGroup_oneAtom", "tdhs_hostgroup_info_oneGroup_oneAtom",
"tdhs_student_oneGroup_oneAtom", "tdhs_module_info_oneGroup_oneAtom",
"tdhs_module_host_oneGroup_oneAtom" },
// case[1]特殊
// (一个group,对应一个atom,其中tdhs_tdhs_hostgroup_info_oneGroup_oneAtom_otherDb在不同的数据库中)
{ "tdhs_host_info_oneGroup_oneAtom", "tdhs_hostgroup_info_oneGroup_oneAtom_otherDb",
"tdhs_student_oneGroup_oneAtom", "tdhs_module_info_oneGroup_oneAtom",
"tdhs_module_host_oneGroup_oneAtom" },
// case[4]
{ "tdhs_host_info_oneGroup_mutilAtom", "tdhs_hostgroup_info_oneGroup_mutilAtom",
"tdhs_student_oneGroup_mutilAtom", "tdhs_module_info_oneGroup_mutilAtom",
"tdhs_module_host_oneGroup_mutilAtom" },
// case[9]
{ "tdhs_host_info_mutilGroup", "tdhs_hostgroup_info_mutilGroup", "tdhs_student_mutilGroup",
"tdhs_module_info_mutilGroup", "tdhs_module_host_oneGroup_mutilAtom" },
// case[9]特殊
// 其中tdhs_host_info_mutilGroup不带索引,tdhs_hostgroup_info_mutilGroup带索引
{ "tdhs_host_info_oneGroup_mutilAtom", "tdhs_hostgroup_info_mutilGroup", "tdhs_student_mutilGroup",
"tdhs_module_info_mutilGroup", "tdhs_module_host_oneGroup_mutilAtom" } };
return object;
}
throw new NotSupportException();
}
}