Currently the MySQL connector generates two kinds of events:
- When a row is removed, the connector generates a tombstone event that contains for the key the primary key of the removed row, and a null value.
- When a row is inserted or updated, the connector generates an event that uses the row's primary key for the event key, and a structure that contains fields for each of the row's new values.
Thus, the only way to distinguish between insert and update events is to already know whether the primary key has appeared before. Additionally, the event does not contain any information about what changed in the row. Both of these are likely to be useful for some downstream consumers.
We should consider changing the message format of events so that update events can more easily be distinguished and contain information about what changed.