@Override
    public Serializable read(final MySQLBinlogColumnDef columnDef, final MySQLPacketPayload payload) {
        long datetime = payload.readInt8();
        return 0L == datetime ? MySQLTimeValueUtils.DATETIME_OF_ZERO : readDateTime(datetime);
    }
@Test
    void assertRead() {
        when(payload.readInt8()).thenReturn(99991231235959L);
        LocalDateTime expected = LocalDateTime.of(9999, 12, 31, 23, 59, 59);
        assertThat(new MySQLDatetimeBinlogProtocolValue().read(columnDef, payload), is(Timestamp.valueOf(expected)));
    }