From eeaf5ce910a2d209670479534be387e1fe7c544f Mon Sep 17 00:00:00 2001 From: agapple Date: Thu, 30 Apr 2015 11:06:10 +0800 Subject: [PATCH] fixed issue #116 , process empty array --- .../canal/parse/inbound/mysql/dbsync/SimpleDdlParser.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/SimpleDdlParser.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/SimpleDdlParser.java index 52e213e4..379aceab 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/SimpleDdlParser.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/SimpleDdlParser.java @@ -149,6 +149,9 @@ public class SimpleDdlParser { matchString = matchString + " "; if (tableMatcher.matches(matchString, PatternUtils.getPattern(TABLE_PATTERN))) { String tableString = tableMatcher.getMatch().group(3); + if (StringUtils.isEmpty(tableString)) { + return null; + } tableString = StringUtils.removeEnd(tableString, ";"); tableString = StringUtils.removeEnd(tableString, "("); @@ -157,6 +160,10 @@ public class SimpleDdlParser { tableString = removeEscape(tableString); // 处理schema.table的写法 String names[] = StringUtils.split(tableString, "."); + if (names.length == 0) { + return null; + } + if (names != null && names.length > 1) { return new DdlResult(removeEscape(names[0]), removeEscape(names[1])); } else {