mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-28 20:50:49 +00:00
Fix MySQL 8.0 optional metadata fields read in TableMapEvent
This commit is contained in:
parent
3477a467e6
commit
2a0e79c145
@ -161,8 +161,12 @@ namespace MySQLReplication
|
||||
readLengthEncodedString(meta, payload);
|
||||
parseMeta(meta);
|
||||
|
||||
size_t len = (column_count + 8) / 7;
|
||||
payload.readStrict(reinterpret_cast<char *>(null_bitmap.data()), len);
|
||||
size_t null_bitmap_size = (column_count + 8) / 7;
|
||||
readBitmap(payload, null_bitmap, null_bitmap_size);
|
||||
|
||||
/// Ignore MySQL 8.0 optional metadata fields.
|
||||
/// https://mysqlhighavailability.com/more-metadata-is-written-into-binary-log/
|
||||
payload.ignore(payload.available() - CHECKSUM_CRC32_SIGNATURE_LENGTH);
|
||||
}
|
||||
|
||||
void TableMapEvent::parseMeta(String meta)
|
||||
|
@ -384,7 +384,7 @@ namespace MySQLReplication
|
||||
UInt32 column_count;
|
||||
std::vector<UInt8> column_type;
|
||||
std::vector<UInt16> column_meta;
|
||||
String null_bitmap;
|
||||
Bitmap null_bitmap;
|
||||
|
||||
void dump() const override;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user