Skip to content

Commit 0f73592

Browse files
authored
fix(dlm): create target table failed (#1614)
1 parent a800f21 commit 0f73592

1 file changed

Lines changed: 2 additions & 21 deletions

File tree

server/odc-service/src/main/java/com/oceanbase/odc/service/schedule/job/DataArchiveJob.java

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,10 @@
1818
import java.util.List;
1919

2020
import org.quartz.JobExecutionContext;
21-
import org.springframework.jdbc.core.JdbcOperations;
22-
import org.springframework.jdbc.support.rowset.SqlRowSet;
2321

2422
import com.oceanbase.odc.common.json.JsonUtils;
2523
import com.oceanbase.odc.core.session.ConnectionSession;
2624
import com.oceanbase.odc.core.session.ConnectionSessionConstants;
27-
import com.oceanbase.odc.core.shared.constant.DialectType;
2825
import com.oceanbase.odc.core.shared.constant.TaskStatus;
2926
import com.oceanbase.odc.metadb.schedule.ScheduleTaskEntity;
3027
import com.oceanbase.odc.service.common.util.SpringContextUtil;
@@ -35,9 +32,6 @@
3532
import com.oceanbase.odc.service.task.config.DefaultTaskFrameworkProperties;
3633
import com.oceanbase.odc.service.task.config.TaskFrameworkProperties;
3734
import 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

4236
import 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

Comments
 (0)