With this code:
for {
fmt.Println("\nWaiting for next event...")
e, err := bl.NextEvent()
fmt.Println("Got event:", e.Header.EventType)
if err != nil {
if err == io.EOF {
break
}
panic(err)
}
if e.Header.EventType.IsWriteRows() {
fmt.Println("EVENT TYPE: insert rows")
} else if e.Header.EventType.IsUpdateRows() {
fmt.Println("EVENT TYPE: update rows")
} else if e.Header.EventType.IsDeleteRows() {
fmt.Println("EVENT TYPE: delete rows")
}
qe, ok := e.Data.(binlog.QueryEvent)
if ok {
fmt.Println("QUERY EVENT:",qe.Query)
}
rse, ok := e.Data.(binlog.RowsEvent)
if ok {
fmt.Println("ROWS EVENT:",rse.TableMap.TableName, rse.TableMap.SchemaName)
}
tme, ok := e.Data.(binlog.TableMapEvent)
if ok {
fmt.Println("TABLE MAP EVENT:", tme.TableName, tme.SchemaName)
}
}
I get the following output:
Waiting for next event...
Got event: query
QUERY EVENT: BEGIN
Waiting for next event...
Got event: tableMap
TABLE MAP EVENT: test_table test_db
Waiting for next event...
Got event: writeRowsV2
EVENT TYPE: insert rows
ROWS EVENT: test_table test_db
How do I get the actual values inserted? Even more importantly, how do I get the full query?
With this code:
I get the following output:
How do I get the actual values inserted? Even more importantly, how do I get the full query?