44 lines
2.0 KiB
Java
44 lines
2.0 KiB
Java
import club.kingon.sql.builder.SqlBuilder;
|
|
import club.kingon.sql.builder.entry.Alias;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.db.sql.SqlFormatter;
|
|
|
|
import static com.eshore.odcp.hudi.connector.Constants.DATABASE_NAME;
|
|
|
|
/**
|
|
* @author lanyuanxiaoyao
|
|
* @date 2023-06-07
|
|
*/
|
|
public class SqlBuilderTests {
|
|
private static final String COUNT = "count(*)";
|
|
|
|
private static final Alias TABLE_VERSION = Alias.of(StrUtil.format("{}.tb_app_collect_table_version", DATABASE_NAME), "tactv");
|
|
private static final String TABLE_VERSION_FLINK_JOB_ID = column(TABLE_VERSION, "flink_job_id");
|
|
private static final String TABLE_VERSION_ALIAS = column(TABLE_VERSION, "alias");
|
|
private static final String TABLE_VERSION_VERSION = column(TABLE_VERSION, "version");
|
|
private static final String TABLE_VERSION_SCHEDULED = column(TABLE_VERSION, "scheduled");
|
|
|
|
private static final Alias TABLE_INFO = Alias.of(StrUtil.format("{}.tb_app_collect_table_info", DATABASE_NAME), "tacti");
|
|
private static final String TABLE_INFO_FLINK_JOB_ID = column(TABLE_INFO, "flink_job_id");
|
|
private static final String TABLE_INFO_ALIAS = column(TABLE_INFO, "alias");
|
|
private static final String TABLE_INFO_PRIORITY = column(TABLE_INFO, "priority");
|
|
private static final String TABLE_INFO_STATUS = column(TABLE_INFO, "status");
|
|
|
|
private static final Alias TABLE_SYNC_STATE = Alias.of(StrUtil.format("{}.tb_app_hudi_sync_state", DATABASE_NAME), "tahss");
|
|
private static final String TABLE_SYNC_STATE_ID = column(TABLE_SYNC_STATE, "id");
|
|
|
|
private static String column(Alias table, String column) {
|
|
return StrUtil.format("{}.{}", table.getAlias(), column);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
System.out.println(SqlFormatter.format(
|
|
SqlBuilder.select("count(distinct concat(src_schema, src_table))")
|
|
.from(TABLE_INFO)
|
|
.whereGe(TABLE_INFO_PRIORITY, 10000)
|
|
.andEq(TABLE_INFO_STATUS, "y")
|
|
.build()
|
|
));
|
|
}
|
|
}
|