From 304b5c10a3cefe703ad931c7b58f53828aa1248f Mon Sep 17 00:00:00 2001 From: starainrt Date: Fri, 30 Jun 2023 16:32:14 +0800 Subject: [PATCH] bug fix --- parse.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/parse.go b/parse.go index 90f072e..f2179c7 100644 --- a/parse.go +++ b/parse.go @@ -372,6 +372,9 @@ func parseBinlogWithFilter(r io.Reader, parse *replication.BinlogParser, filter for { headBuf := make([]byte, replication.EventHeaderSize) if _, err = io.ReadFull(r, headBuf); err == io.EOF { + if tx.Time.IsZero() { + return nil + } idx := 0 for k, v := range tx.Txs { if v.SqlType != "query" && len(tx.sqlOrigin) > idx { @@ -482,6 +485,7 @@ func parseBinlogWithFilter(r io.Reader, parse *replication.BinlogParser, filter } tx.Size = tx.EndPos - tx.StartPos callFn(tx) + tx = Transaction{} } currentGtid = ev.Data if inGtid != nil {