mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fixed format
This commit is contained in:
@@ -215,15 +215,13 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
|
|||||||
// 更新下table meta cache
|
// 更新下table meta cache
|
||||||
if (tableMetaCache != null
|
if (tableMetaCache != null
|
||||||
&& (result.getType() == EventType.ALTER || result.getType() == EventType.ERASE || result.getType() == EventType.RENAME)) {
|
&& (result.getType() == EventType.ALTER || result.getType() == EventType.ERASE || result.getType() == EventType.RENAME)) {
|
||||||
|
for (DdlResult renameResult = result; renameResult != null; renameResult = renameResult.getRenameTableResult()) {
|
||||||
for(DdlResult renameResult=result ;renameResult!=null; renameResult = renameResult.getRenameTableResult()) {
|
String schemaName0 = event.getDbName(); // 防止rename语句后产生schema变更带来影响
|
||||||
String schemaName0 = event.getDbName(); //防止 rename语句后产生 schema变更带来影响
|
|
||||||
if (StringUtils.isNotEmpty(renameResult.getSchemaName())) {
|
if (StringUtils.isNotEmpty(renameResult.getSchemaName())) {
|
||||||
schemaName0 = renameResult.getSchemaName();
|
schemaName0 = renameResult.getSchemaName();
|
||||||
}
|
}
|
||||||
|
|
||||||
tableName = renameResult.getTableName();
|
tableName = renameResult.getTableName();
|
||||||
|
|
||||||
if (StringUtils.isNotEmpty(tableName)) {
|
if (StringUtils.isNotEmpty(tableName)) {
|
||||||
// 如果解析到了正确的表信息,则根据全名进行清除
|
// 如果解析到了正确的表信息,则根据全名进行清除
|
||||||
tableMetaCache.clearTableMeta(schemaName0, tableName);
|
tableMetaCache.clearTableMeta(schemaName0, tableName);
|
||||||
|
|||||||
@@ -77,9 +77,9 @@ public class SimpleDdlParser {
|
|||||||
result.setType(EventType.RENAME);
|
result.setType(EventType.RENAME);
|
||||||
|
|
||||||
String[] renameStrings = queryString.split(",");
|
String[] renameStrings = queryString.split(",");
|
||||||
if (renameStrings.length > 1){
|
if (renameStrings.length > 1) {
|
||||||
DdlResult lastResult = result;
|
DdlResult lastResult = result;
|
||||||
for (int i=1; i<renameStrings.length; i++){
|
for (int i = 1; i < renameStrings.length; i++) {
|
||||||
DdlResult ddlResult = parseRename(renameStrings[i], schmeaName, RENAME_REMNANT_PATTERN);
|
DdlResult ddlResult = parseRename(renameStrings[i], schmeaName, RENAME_REMNANT_PATTERN);
|
||||||
ddlResult.setType(EventType.RENAME);
|
ddlResult.setType(EventType.RENAME);
|
||||||
lastResult.setRenameTableResult(ddlResult);
|
lastResult.setRenameTableResult(ddlResult);
|
||||||
@@ -228,12 +228,10 @@ public class SimpleDdlParser {
|
|||||||
private DdlResult renameTableResult; // 多个rename table的存储
|
private DdlResult renameTableResult; // 多个rename table的存储
|
||||||
|
|
||||||
/*
|
/*
|
||||||
RENAME TABLE tbl_name TO new_tbl_name
|
* RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2]
|
||||||
[, tbl_name2 TO new_tbl_name2] ...
|
* ...
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
public DdlResult(){
|
public DdlResult(){
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,14 +303,16 @@ public class SimpleDdlParser {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
DdlResult ddlResult = this;
|
DdlResult ddlResult = this;
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
do{
|
do {
|
||||||
sb.append(String.format("DdlResult [schemaName=%s , tableName=%s , oriSchemaName=%s , oriTableName=%s , type=%s ];",
|
sb.append(String.format("DdlResult [schemaName=%s , tableName=%s , oriSchemaName=%s , oriTableName=%s , type=%s ];",
|
||||||
ddlResult.schemaName, ddlResult.tableName, ddlResult.oriSchemaName, ddlResult.oriTableName, ddlResult.type));
|
ddlResult.schemaName,
|
||||||
|
ddlResult.tableName,
|
||||||
|
ddlResult.oriSchemaName,
|
||||||
|
ddlResult.oriTableName,
|
||||||
|
ddlResult.type));
|
||||||
ddlResult = ddlResult.renameTableResult;
|
ddlResult = ddlResult.renameTableResult;
|
||||||
}while (ddlResult!=null);
|
} while (ddlResult != null);
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user