diff --git a/cdc/sink/codec/internal/column.go b/cdc/sink/codec/internal/column.go index 35ca589d129..77340506be0 100644 --- a/cdc/sink/codec/internal/column.go +++ b/cdc/sink/codec/internal/column.go @@ -94,8 +94,10 @@ func (c *Column) ToRowChangeColumn(name string) *model.Column { if err != nil { log.Panic("invalid column value, please report a bug", zap.Any("col", c), zap.Error(err)) } + col.Value = []byte(str) + } else { + col.Value = str } - col.Value = str default: col.Value = c.Value } diff --git a/cdc/sink/codec/open/open_protocol_message_test.go b/cdc/sink/codec/open/open_protocol_message_test.go index 826eda172f7..d29f7654b14 100644 --- a/cdc/sink/codec/open/open_protocol_message_test.go +++ b/cdc/sink/codec/open/open_protocol_message_test.go @@ -65,7 +65,6 @@ func TestNonBinaryStringCol(t *testing.T) { require.Equal(t, row, row2) mqCol2 := row2.Update["test"] col2 := mqCol2.ToRowChangeColumn("test") - col2.Value = string(col2.Value.([]byte)) require.Equal(t, col, col2) }