|
@@ -9,31 +9,13 @@ import com.alibaba.fastsql.sql.ast.SQLExpr;
|
|
import com.alibaba.fastsql.sql.ast.SQLStatement;
|
|
import com.alibaba.fastsql.sql.ast.SQLStatement;
|
|
import com.alibaba.fastsql.sql.ast.expr.SQLIdentifierExpr;
|
|
import com.alibaba.fastsql.sql.ast.expr.SQLIdentifierExpr;
|
|
import com.alibaba.fastsql.sql.ast.expr.SQLPropertyExpr;
|
|
import com.alibaba.fastsql.sql.ast.expr.SQLPropertyExpr;
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableAddConstraint;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableAddIndex;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableDropConstraint;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableDropIndex;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableDropKey;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableItem;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableRename;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLAlterTableStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLConstraint;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLCreateIndexStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLCreateTableStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLDeleteStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLDropIndexStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLDropTableStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLExprTableSource;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLInsertStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLTableSource;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLTruncateStatement;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLUnique;
|
|
|
|
-import com.alibaba.fastsql.sql.ast.statement.SQLUpdateStatement;
|
|
|
|
|
|
+import com.alibaba.fastsql.sql.ast.statement.*;
|
|
import com.alibaba.fastsql.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement;
|
|
import com.alibaba.fastsql.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement;
|
|
import com.alibaba.fastsql.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement.Item;
|
|
import com.alibaba.fastsql.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement.Item;
|
|
import com.alibaba.fastsql.sql.parser.ParserException;
|
|
import com.alibaba.fastsql.sql.parser.ParserException;
|
|
import com.alibaba.fastsql.util.JdbcConstants;
|
|
import com.alibaba.fastsql.util.JdbcConstants;
|
|
import com.alibaba.otter.canal.protocol.CanalEntry.EventType;
|
|
import com.alibaba.otter.canal.protocol.CanalEntry.EventType;
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author agapple 2017年7月27日 下午4:05:34
|
|
* @author agapple 2017年7月27日 下午4:05:34
|
|
@@ -157,6 +139,17 @@ public class DruidDdlParser {
|
|
processName(ddlResult, schmeaName, delete.getTableName(), false);
|
|
processName(ddlResult, schmeaName, delete.getTableName(), false);
|
|
ddlResult.setType(EventType.DELETE);
|
|
ddlResult.setType(EventType.DELETE);
|
|
ddlResults.add(ddlResult);
|
|
ddlResults.add(ddlResult);
|
|
|
|
+ } else if (statement instanceof SQLCreateDatabaseStatement){
|
|
|
|
+ DdlResult ddlResult = new DdlResult();
|
|
|
|
+ ddlResult.setType(EventType.QUERY);
|
|
|
|
+ //只设置schema
|
|
|
|
+ processName(ddlResult,schmeaName,null,false);
|
|
|
|
+ ddlResults.add(ddlResult);
|
|
|
|
+ } else if(statement instanceof SQLDropDatabaseStatement){
|
|
|
|
+ DdlResult ddlResult = new DdlResult();
|
|
|
|
+ ddlResult.setType(EventType.QUERY);
|
|
|
|
+ //只设置schema
|
|
|
|
+ processName(ddlResult,schmeaName,null,false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -165,6 +158,9 @@ public class DruidDdlParser {
|
|
|
|
|
|
private static void processName(DdlResult ddlResult, String schema, SQLExpr sqlName, boolean isOri) {
|
|
private static void processName(DdlResult ddlResult, String schema, SQLExpr sqlName, boolean isOri) {
|
|
if (sqlName == null) {
|
|
if (sqlName == null) {
|
|
|
|
+ if (StringUtils.isNotBlank(schema)){
|
|
|
|
+ ddlResult.setSchemaName(schema);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|