@@ -24,5 +24,89 @@ public void testDeserialize() throws IOException {
24
24
));
25
25
assertEquals (data .getFlags (), 0x03 );
26
26
assertEquals (data .getMySqlGtid ().toString (), "24bc7850-2c16-11e6-a073-0242ac110002:11" );
27
+ assertEquals (data .getLastCommitted (), 0 );
28
+ assertEquals (data .getSequenceNumber (), 0 );
29
+ assertEquals (data .toString (), "GtidEventData{flags=3, gtid='24bc7850-2c16-11e6-a073-0242ac110002:11', last_committed='0', sequence_number='0'}" );
30
+ }
31
+
32
+ @ Test
33
+ public void testDeserializeMySQL801 () throws IOException {
34
+ GtidEventData data = deserializer .deserialize (new ByteArrayInputStream (
35
+ new byte []{
36
+ 0x01 , // flags
37
+ (byte ) 0xaa , (byte ) 0xe5 , 0x7b , 0x2f , (byte ) 0x8e , 0x44 , 0x11 , (byte ) 0xee , // sourceId mostSignificantBits big endian
38
+ (byte ) 0xa3 , (byte ) 0xd6 , (byte ) 0xa0 , 0x36 , (byte ) 0xbc , (byte ) 0xda , 0x1a , 0x41 , // sourceId leastSignificantBits big endian
39
+ 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence little endian
40
+ 0x02 , // MTR
41
+ 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // last committed
42
+ 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence number
43
+ (byte ) 0x97 , (byte ) 0xef , 0x0c , 0x25 , 0x3f , 0x0b , 0x06 , // commit timestamp
44
+ }
45
+ ));
46
+ assertEquals (data .getFlags (), 0x01 );
47
+ assertEquals (data .getMySqlGtid ().toString (), "aae57b2f-8e44-11ee-a3d6-a036bcda1a41:4" );
48
+ assertEquals (data .getLastCommitted (), 3 );
49
+ assertEquals (data .getSequenceNumber (), 4 );
50
+ assertEquals (data .getImmediateCommitTimestamp (), 1701215692713879L );
51
+ assertEquals (data .getOriginalCommitTimestamp (), 1701215692713879L );
52
+ assertEquals (data .getTransactionLength (), 0 );
53
+ assertEquals (data .getImmediateServerVersion (), 999999 );
54
+ assertEquals (data .getOriginalServerVersion (), 999999 );
55
+ assertEquals (data .toString (), "GtidEventData{flags=1, gtid='aae57b2f-8e44-11ee-a3d6-a036bcda1a41:4', last_committed='3', sequence_number='4', immediate_commit_timestamp='1701215692713879', original_commit_timestamp='1701215692713879'}" );
56
+ }
57
+
58
+ @ Test
59
+ public void testDeserializeMySQL802 () throws IOException {
60
+ GtidEventData data = deserializer .deserialize (new ByteArrayInputStream (
61
+ new byte []{
62
+ 0x00 , // flags
63
+ (byte ) 0x99 , 0x4a , (byte ) 0xb8 , 0x59 , (byte ) 0x8e , (byte ) 0xa8 , 0x11 , (byte ) 0xee , // sourceId mostSignificantBits big endian
64
+ (byte ) 0xa5 , 0x68 , (byte ) 0xa0 , 0x36 , (byte ) 0xbc , (byte ) 0xda , 0x1a , 0x41 , // sourceId leastSignificantBits big endian
65
+ 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence little endian
66
+ 0x02 , // MTR
67
+ 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // last committed
68
+ 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence number
69
+ 0x40 , 0x55 , 0x04 , (byte ) 0xc4 , 0x48 , 0x0b , 0x06 , // commit timestamp
70
+ (byte ) 0xfc , 0x34 , 0x01 , // transaction length
71
+ }
72
+ ));
73
+ assertEquals (data .getFlags (), 0x00 );
74
+ assertEquals (data .getMySqlGtid ().toString (), "994ab859-8ea8-11ee-a568-a036bcda1a41:3" );
75
+ assertEquals (data .getLastCommitted (), 2 );
76
+ assertEquals (data .getSequenceNumber (), 3 );
77
+ assertEquals (data .getImmediateCommitTimestamp (), 1701257014433088L );
78
+ assertEquals (data .getOriginalCommitTimestamp (), 1701257014433088L );
79
+ assertEquals (data .getTransactionLength (), 308 );
80
+ assertEquals (data .getImmediateServerVersion (), 999999 );
81
+ assertEquals (data .getOriginalServerVersion (), 999999 );
82
+ assertEquals (data .toString (), "GtidEventData{flags=0, gtid='994ab859-8ea8-11ee-a568-a036bcda1a41:3', last_committed='2', sequence_number='3', immediate_commit_timestamp='1701257014433088', original_commit_timestamp='1701257014433088', transaction_length='308', immediate_server_version='999999', original_server_version='999999'}" );
83
+ }
84
+
85
+ @ Test
86
+ public void testDeserializeMySQL810 () throws IOException {
87
+ GtidEventData data = deserializer .deserialize (new ByteArrayInputStream (
88
+ new byte []{
89
+ 0x00 , // flags
90
+ (byte ) 0xbd , (byte ) 0x97 , (byte ) 0x94 , (byte ) 0xe0 , 0x1d , 0x65 , 0x11 , (byte ) 0xed , // sourceId mostSignificantBits big endian
91
+ (byte ) 0xa7 , (byte ) 0xe7 , 0x0a , (byte ) 0xdb , 0x30 , 0x5b , 0x3a , 0x12 , // sourceId leastSignificantBits big endian
92
+ 0x09 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence little endian
93
+ 0x02 , // MTR
94
+ 0x07 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // last committed
95
+ 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // sequence number
96
+ 0x66 , 0x29 , (byte ) 0xaa , 0x69 , 0x55 , 0x09 , 0x06 , // commit timestamp
97
+ (byte ) 0xfc , 0x3b , 0x01 , // transaction length
98
+ (byte ) 0xe4 , 0x38 , 0x01 , 0x00 , // immediate server version
99
+ }
100
+ ));
101
+ assertEquals (data .getFlags (), 0x00 );
102
+ assertEquals (data .getMySqlGtid ().toString (), "bd9794e0-1d65-11ed-a7e7-0adb305b3a12:9" );
103
+ assertEquals (data .getLastCommitted (), 7 );
104
+ assertEquals (data .getSequenceNumber (), 8 );
105
+ assertEquals (data .getImmediateCommitTimestamp (), 1699112309893478L );
106
+ assertEquals (data .getOriginalCommitTimestamp (), 1699112309893478L );
107
+ assertEquals (data .getTransactionLength (), 315 );
108
+ assertEquals (data .getImmediateServerVersion (), 80100 );
109
+ assertEquals (data .getOriginalServerVersion (), 80100 );
110
+ assertEquals (data .toString (), "GtidEventData{flags=0, gtid='bd9794e0-1d65-11ed-a7e7-0adb305b3a12:9', last_committed='7', sequence_number='8', immediate_commit_timestamp='1699112309893478', original_commit_timestamp='1699112309893478', transaction_length='315', immediate_server_version='80100', original_server_version='80100'}" );
27
111
}
28
112
}
0 commit comments