Configuring the Compatibility Assessment Filtering Types
When creating an SQL migration task with a connection to the target database, the tool dynamically assesses the compatibility of the extracted SQL statements. For incompatible SQL statements, you can customize the filtering list of EXPLAIN execution results and specify the types to filter.
Example Scenario
The migration path is MySQL > DM, the scan result is as follows, and the EXPLAIN execution result is "Invalid table or view name [not_exist_table]".

Configuring the Filtering Types
- Use an
SSH tool to remotely log in to the Linux OS CLI as the DevKit installation user. - Open the sqlAnalysisSettingsConfig.json file.
vi /opt/DevKit/devkitplugins/porting/config/sysmig/sql_analysis/sqlAnalysisSettingsConfig.json
/opt is the tool installation directory. Replace it with the actual directory.
- Press i to enter the insert mode and add the explainExecutionResult field.
{ "crossFunction": false, "compilationUnitMaxCache": 3000, "poolSize": 0, "taskQueueCapacity": 5000, "ifMaxNum": 12, "sourceIfMaxNum": 256, "compatibilityCheckTimeoutSeconds": 120, "explainExecutionResult": ["Invalid table or view name.*"], "addTodoInPatch": false, "todoSuggestionUseEnLang": true, "dbConnOptionsConfig": { "sourceDb": { "--source-db-user": "", "--source-db-jdbc-url": "", "--source-db-driver-jar-path": "", "--source-db-driver-class-name": "" }, "targetDb": { "--target-db-user": "", "--target-db-jdbc-url": "", "--target-db-driver-jar-path": "", "--target-db-driver-class-name": "" } } }
explainExecutionResult indicates the execution results to be filtered. It supports regular expression matching. Use commas (,) to separate multiple filtering items, for example, ["Invalid table or view name.*","Table '.*' doesn't exist"].
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Scan the source file again. The report shows that the previously incompatible SQL statements are now compatible.Figure 1 Reported after modification