Determination of Safe and Unsafe Statements in Binary Logging


When speaking of the "safeness" of a statement in MariaDB Replication, we are referring to whether a statement and its effects can be replicated correctly using statement-based format. If this is true of the statement, we refer to the statement as safe; otherwise, we refer to it as unsafe.

In general, a statement is safe if it deterministic, and unsafe if it is not. However, certain nondeterministic functions are not considered unsafe (see Nondeterministic functions not considered unsafe, later in this section). In addition, statements using results from floating-point math functions-which are hardware-dependent-are always considered safe (see , "Replication and Floating-Point Values").

Handling of safe and unsafe statements. A statement is treated differently depending on whether the statement is considered safe, and with respect to the binary logging format (that is, the current value of binlog_format).

For more information, see , "Replication Formats".

Statements considered unsafe. Statements having the following characteristics are considered unsafe:

For additional information, see , "Replication Features and Issues".

Retornar