1818import java .util .List ;
1919
2020import org .quartz .JobExecutionContext ;
21- import org .springframework .jdbc .core .JdbcOperations ;
22- import org .springframework .jdbc .support .rowset .SqlRowSet ;
2321
2422import com .oceanbase .odc .common .json .JsonUtils ;
2523import com .oceanbase .odc .core .session .ConnectionSession ;
2624import com .oceanbase .odc .core .session .ConnectionSessionConstants ;
27- import com .oceanbase .odc .core .shared .constant .DialectType ;
2825import com .oceanbase .odc .core .shared .constant .TaskStatus ;
2926import com .oceanbase .odc .metadb .schedule .ScheduleTaskEntity ;
3027import com .oceanbase .odc .service .common .util .SpringContextUtil ;
3532import com .oceanbase .odc .service .task .config .DefaultTaskFrameworkProperties ;
3633import com .oceanbase .odc .service .task .config .TaskFrameworkProperties ;
3734import com .oceanbase .tools .dbbrowser .schema .DBSchemaAccessor ;
38- import com .oceanbase .tools .dbbrowser .util .MySQLSqlBuilder ;
39- import com .oceanbase .tools .dbbrowser .util .OracleSqlBuilder ;
40- import com .oceanbase .tools .dbbrowser .util .SqlBuilder ;
4135
4236import lombok .extern .slf4j .Slf4j ;
4337
@@ -98,14 +92,10 @@ private void createTargetTable(DlmTask dlmTask) {
9892 DefaultConnectSessionFactory sourceConnectionSessionFactory =
9993 new DefaultConnectSessionFactory (dlmTask .getSourceDs ());
10094 ConnectionSession srcSession = sourceConnectionSessionFactory .generateSession ();
101- JdbcOperations jdbcOperations = srcSession .getSyncJdbcExecutor (ConnectionSessionConstants .CONSOLE_DS_KEY );
10295 String tableDDL ;
10396 try {
104- SqlRowSet sqlRowSet =
105- jdbcOperations .queryForRowSet (getCreateTableDDL (dlmTask .getSourceDs ().getDefaultSchema (),
106- dlmTask .getTableName (), dlmTask .getSourceDs ()
107- .getDialectType ()));
108- tableDDL = sqlRowSet .getString (2 );
97+ DBSchemaAccessor sourceDsAccessor = DBSchemaAccessors .create (srcSession );
98+ tableDDL = sourceDsAccessor .getTableDDL (dlmTask .getSourceDs ().getDefaultSchema (), dlmTask .getTableName ());
10999 } finally {
110100 srcSession .expire ();
111101 }
@@ -127,13 +117,4 @@ private void createTargetTable(DlmTask dlmTask) {
127117 }
128118 }
129119
130- private String getCreateTableDDL (String schemaName , String tableName , DialectType dbType ) {
131- SqlBuilder sb = dbType .isOracle () ? new OracleSqlBuilder () : new MySQLSqlBuilder ();
132- sb .append ("SHOW CREATE TABLE " );
133- sb .identifier (schemaName );
134- sb .append ("." );
135- sb .identifier (tableName );
136- return sb .toString ();
137- }
138-
139120}
0 commit comments