|
@@ -16,6 +16,7 @@ import com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DefaultTableMetaTSDBFact
|
|
|
import com.alibaba.otter.canal.parse.inbound.mysql.tsdb.TableMetaTSDB;
|
|
|
import com.alibaba.otter.canal.parse.inbound.mysql.tsdb.TableMetaTSDBFactory;
|
|
|
import com.alibaba.otter.canal.protocol.position.EntryPosition;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
|
|
|
public abstract class AbstractMysqlEventParser extends AbstractEventParser {
|
|
|
|
|
@@ -37,6 +38,10 @@ public abstract class AbstractMysqlEventParser extends AbstractEventParser {
|
|
|
protected boolean filterRows = false;
|
|
|
protected boolean filterTableError = false;
|
|
|
protected boolean useDruidDdlFilter = true;
|
|
|
+
|
|
|
+ protected boolean filterDmlInsert = false;
|
|
|
+ protected boolean filterDmlUpdate = false;
|
|
|
+ protected boolean filterDmlDelete = false;
|
|
|
// instance received binlog bytes
|
|
|
protected final AtomicLong receivedBinlogBytes = new AtomicLong(0L);
|
|
|
private final AtomicLong eventsPublishBlockingTime = new AtomicLong(0L);
|
|
@@ -173,7 +178,7 @@ public abstract class AbstractMysqlEventParser extends AbstractEventParser {
|
|
|
parallelThreadSize,
|
|
|
(LogEventConvert) binlogParser,
|
|
|
transactionBuffer,
|
|
|
- destination);
|
|
|
+ destination, filterDmlInsert, filterDmlUpdate, filterDmlDelete);
|
|
|
mysqlMultiStageCoprocessor.setEventsPublishBlockingTime(eventsPublishBlockingTime);
|
|
|
return mysqlMultiStageCoprocessor;
|
|
|
}
|
|
@@ -224,6 +229,30 @@ public abstract class AbstractMysqlEventParser extends AbstractEventParser {
|
|
|
this.useDruidDdlFilter = useDruidDdlFilter;
|
|
|
}
|
|
|
|
|
|
+ public boolean isFilterDmlInsert() {
|
|
|
+ return filterDmlInsert;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setFilterDmlInsert(boolean filterDmlInsert) {
|
|
|
+ this.filterDmlInsert = filterDmlInsert;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isFilterDmlUpdate() {
|
|
|
+ return filterDmlUpdate;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setFilterDmlUpdate(boolean filterDmlUpdate) {
|
|
|
+ this.filterDmlUpdate = filterDmlUpdate;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isFilterDmlDelete() {
|
|
|
+ return filterDmlDelete;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setFilterDmlDelete(boolean filterDmlDelete) {
|
|
|
+ this.filterDmlDelete = filterDmlDelete;
|
|
|
+ }
|
|
|
+
|
|
|
public void setEnableTsdb(boolean enableTsdb) {
|
|
|
this.enableTsdb = enableTsdb;
|
|
|
if (this.enableTsdb) {
|