From 7c0272cc62e4257026bc94811f11c978330bb865 Mon Sep 17 00:00:00 2001 From: starainrt Date: Fri, 30 Jun 2023 13:37:41 +0800 Subject: [PATCH] bug fix --- parse.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/parse.go b/parse.go index 52a1cd2..90f072e 100644 --- a/parse.go +++ b/parse.go @@ -381,6 +381,9 @@ func parseBinlogWithFilter(r io.Reader, parse *replication.BinlogParser, filter tx.RowsCount += v.RowCount tx.Txs[k] = v } + if filter.OnlyShowGtid { + tx.EndPos = tx.StartPos + } tx.Size = tx.EndPos - tx.StartPos callFn(tx) return nil @@ -451,6 +454,14 @@ func parseBinlogWithFilter(r io.Reader, parse *replication.BinlogParser, filter // cfg.StatChan <- BinEventStats{Timestamp: h.Timestamp, Binlog: *binlog, StartPos: tbMapPos, StopPos: h.LogPos, // Database: db, Table: tb, QuerySql: sql, RowCnt: rowCnt, QueryType: sqlType} } + if filter.EndPos != 0 && startPos > filter.EndPos { + skipTillNext = true + continue + } + if filter.StartPos != 0 && startPos < filter.EndPos { + skipTillNext = true + continue + } switch ev.Type { case "gtid": if skipTillNext {