mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
ba835f89ba
Problem: When an Incident_log_event contains a bad incident number on disk, the server crashes with an assertion. Fix: Don't validate input with assertions. Use errors. mysql-test/include/cleanup_fake_relay_log.inc: Added auxiliary file to restore things that setup_fake_relay_log.inc did. mysql-test/include/setup_fake_relay_log.inc: Added auxiliary file to setup replication from an existing relay log. mysql-test/std_data/bug40482-bin.000001: Binlog file for rpl.rpl_binlog_corruption mysql-test/suite/rpl/t/rpl_binlog_corruption.test: New test file. sql/log_event.cc: Check that the incident number is correct at the time the event is constructed. Do not assert it at the time it is printed. sql/log_event.h: Incident_log_event::is_valid() should verify that the incident number is valid. sql/rpl_constants.h: Incident numbers should be hard-coded, since they may appear in files.
18 lines
372 B
C
18 lines
372 B
C
#ifndef RPL_CONSTANTS_H
|
|
#define RPL_CONSTANTS_H
|
|
|
|
/**
|
|
Enumeration of the incidents that can occur for the server.
|
|
*/
|
|
enum Incident {
|
|
/** No incident */
|
|
INCIDENT_NONE = 0,
|
|
|
|
/** There are possibly lost events in the replication stream */
|
|
INCIDENT_LOST_EVENTS = 1,
|
|
|
|
/** Shall be last event of the enumeration */
|
|
INCIDENT_COUNT
|
|
};
|
|
|
|
#endif /* RPL_CONSTANTS_H */
|