protected void handleUpdateTableMetadata(Event event) {
        TableMapEventData metadata = unwrapData(event);
        long tableNumber = metadata.getTableId();
        String databaseName = metadata.getDatabase();
        String tableName = metadata.getTable();
        TableId tableId = new TableId(databaseName, null, tableName);
        if (taskContext.getSchema().assignTableNumber(tableNumber, tableId)) {
            LOGGER.debug("Received update table metadata event: {}", event);
        } else {
            informAboutUnknownTableIfRequired(event, tableId, "update table metadata");
        }
    }
Handle a change in the table metadata.
<p>
This method should be called whenever we consume a TABLE_MAP event, and every transaction in the log should include one
of these for each table affected by the transaction. Each table map event includes a monotonically-increasing numeric
identifier, and this identifier is used within subsequent events within the same transaction. This table identifier can
change when:
<ol>
<li>the table structure is modified (e.g., via an {@code ALTER TABLE ...} command); or</li>
<li>MySQL rotates to a new binary log file, even if the table structure does not change.</li>
</ol>

@param event the update event; never null
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/mysql-cdc/src/main/java/io/debezium/connector/mysql/MySqlStreamingChangeEventSource.java