mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fixed that the we don't change CREATE to CREATE OR REPLACE, except if the slave removed an existing table as part of CREATE.
This will help the following replicaition scenario: MariaDB 10.0 master (statement replication) -> MariaDB 10.0 slave (row based replication) -> MySQL or MariaDB 5.x slave mysql-test/r/mysqld--help.result: Updated help text mysql-test/suite/rpl/r/create_or_replace_mix.result: Added more tests mysql-test/suite/rpl/r/create_or_replace_row.result: Added more tests mysql-test/suite/rpl/r/create_or_replace_statement.result: Added more tests mysql-test/suite/rpl/t/create_or_replace.inc: Added more tests sql/handler.h: Added org_options so that we can detect what come from the query and what was possible added later. sql/sql_insert.cc: Only write CREATE OR REPLACE if was originally specified or if we delete a conflicting table as part of create sql/sql_parse.cc: Remember orginal create options sql/sql_table.cc: Only write CREATE OR REPLACE if was originally specified or if we delete a conflicting table as part of create sql/sys_vars.cc: Updated help text
This commit is contained in:
@ -2717,11 +2717,11 @@ static Sys_var_mybool Sys_slave_compressed_protocol(
|
||||
static const char *slave_exec_mode_names[]= {"STRICT", "IDEMPOTENT", 0};
|
||||
static Sys_var_enum Slave_exec_mode(
|
||||
"slave_exec_mode",
|
||||
"Modes for how replication events should be executed. Legal values "
|
||||
"How replication events should be executed. Legal values "
|
||||
"are STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, "
|
||||
"replication will not stop for operations that are idempotent. "
|
||||
"For example, in row based replication attempts to delete rows that "
|
||||
"doesn't exist will be ignored."
|
||||
"doesn't exist will be ignored. "
|
||||
"In STRICT mode, replication will stop on any unexpected difference "
|
||||
"between the master and the slave",
|
||||
GLOBAL_VAR(slave_exec_mode_options), CMD_LINE(REQUIRED_ARG),
|
||||
@ -2729,11 +2729,11 @@ static Sys_var_enum Slave_exec_mode(
|
||||
|
||||
static Sys_var_enum Slave_ddl_exec_mode(
|
||||
"slave_ddl_exec_mode",
|
||||
"Modes for how replication events should be executed. Legal values "
|
||||
"How replication events should be executed. Legal values "
|
||||
"are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode, "
|
||||
"replication will not stop for DDL operations that are idempotent. "
|
||||
"This means that CREATE TABLE is treated CREATE TABLE OR REPLACE and "
|
||||
"DROP TABLE is threated as DROP TABLE IF EXISTS. ",
|
||||
"This means that CREATE TABLE is treated as CREATE TABLE OR REPLACE and "
|
||||
"DROP TABLE is treated as DROP TABLE IF EXISTS.",
|
||||
GLOBAL_VAR(slave_ddl_exec_mode_options), CMD_LINE(REQUIRED_ARG),
|
||||
slave_exec_mode_names, DEFAULT(SLAVE_EXEC_MODE_IDEMPOTENT));
|
||||
|
||||
|
Reference in New Issue
Block a user