class TDengineCreateTableSqlBuilder implements CreateTableSqlBuilder {

    @Override
    public SqlRequest build(RDBTableMetadata table) {<FILL_FUNCTION_BODY>}

}

        PrepareSqlFragments sql = PrepareSqlFragments.of();

        List<String> columns = new ArrayList<>(table.getColumns().size());
        sql.addSql("CREATE STABLE IF NOT EXISTS", table.getFullName(), "(")
            .addSql("_ts timestamp");


        List<RDBColumnMetadata> tags = new ArrayList<>();
        for (RDBColumnMetadata column : table.getColumns()) {
            if (column.getProperty(TDengineConstants.COLUMN_IS_TS).isTrue()) {
                continue;
            }
            if (column.getProperty(TDengineConstants.COLUMN_IS_TAG).isTrue()) {
                tags.add(column);
                continue;
            }
            sql
                .addSql(",")
                .addSql(column.getQuoteName())
                .addSql(column.getDataType());

        }
        sql.addSql(")");
        if(!tags.isEmpty()){
            sql.addSql("TAGS (");
            int index= 0 ;
            for (RDBColumnMetadata tag : tags) {
                if(index++>0){
                    sql.addSql(",");
                }
                sql
                    .addSql(tag.getQuoteName())
                    .addSql(tag.getDataType());
            }
            sql.addSql(")");
        }
        return sql.toRequest();
    
<no_super_class>