fixed issue #3377 , escapse schema name

This commit is contained in:
agapple
2021-04-16 23:11:41 +08:00
parent a0f8e182ec
commit 85df89f777

View File

@@ -21,9 +21,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.slf4j.MDC; import org.slf4j.MDC;
import com.alibaba.druid.sql.repository.Schema;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.druid.sql.repository.Schema;
import com.alibaba.otter.canal.filter.CanalEventFilter; import com.alibaba.otter.canal.filter.CanalEventFilter;
import com.alibaba.otter.canal.parse.driver.mysql.packets.server.ResultSetPacket; import com.alibaba.otter.canal.parse.driver.mysql.packets.server.ResultSetPacket;
import com.alibaba.otter.canal.parse.exception.CanalParseException; import com.alibaba.otter.canal.parse.exception.CanalParseException;
@@ -463,10 +463,17 @@ public class DatabaseTableMeta implements TableMetaTSDB {
} }
} }
private String structureSchema(String schema) {
if (schema.startsWith("`") && schema.endsWith("`")) {
return schema;
}
return "`" + schema + "`";
}
private String getFullName(String schema, String table) { private String getFullName(String schema, String table) {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
return builder.append('`') return builder.append('`')
.append(schema) .append(structureSchema(schema))
.append('`') .append('`')
.append('.') .append('.')
.append('`') .append('`')