Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
01046e7f
Commit
01046e7f
authored
Jul 02, 2014
by
Oleksandr Byelkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RBR triggers enabling in 10.1
parent
4ee6bf22
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
11 additions
and
21 deletions
+11
-21
mysql-test/r/mysqld--help.result
mysql-test/r/mysqld--help.result
+10
-0
sql/log_event.cc
sql/log_event.cc
+1
-13
sql/mysqld.cc
sql/mysqld.cc
+0
-2
sql/mysqld.h
sql/mysqld.h
+0
-4
sql/sys_vars.cc
sql/sys_vars.cc
+0
-2
No files found.
mysql-test/r/mysqld--help.result
View file @
01046e7f
...
...
@@ -916,6 +916,15 @@ The following options may be given as the first argument:
replication domains. Note that these threads are in
addition to the IO and SQL threads, which are always
created by a replication slave
--slave-run-triggers-for-rbr=name
Modes for how triggers in row-base replication on slave
side will be executed. Legal values are NO (default), YES
and LOGGING. NO means that trigger for RBR will not be
running on slave. YES and LOGGING means that triggers
will be running on slave, if there was not triggers
running on the master for the statement. LOGGING also
means results of that the executed triggers work will be
written to the binlog.
--slave-skip-errors=name
Tells the slave thread to continue replication when a
query event returns an error from the provided list
...
...
@@ -1315,6 +1324,7 @@ slave-max-allowed-packet 1073741824
slave-net-timeout 3600
slave-parallel-max-queued 131072
slave-parallel-threads 0
slave-run-triggers-for-rbr NO
slave-skip-errors (No default value)
slave-sql-verify-checksum TRUE
slave-transaction-retries 10
...
...
sql/log_event.cc
View file @
01046e7f
...
...
@@ -9510,12 +9510,10 @@ int Rows_log_event::do_add_row_data(uchar *row_data, size_t length)
*/
static
void
restore_empty_query_table_list
(
LEX
*
lex
)
{
#ifdef RBR_TRIGGERS
if
(
lex
->
first_not_own_table
())
(
*
lex
->
first_not_own_table
()
->
prev_global
)
=
NULL
;
lex
->
query_tables
=
NULL
;
lex
->
query_tables_last
=
&
lex
->
query_tables
;
#endif //RBR_TRIGGERS
}
...
...
@@ -10074,7 +10072,7 @@ Rows_log_event::do_update_pos(rpl_group_info *rgi)
DBUG_RETURN
(
error
);
}
#endif /
/defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
#endif
/
* !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) */
#ifndef MYSQL_CLIENT
bool
Rows_log_event
::
write_data_header
(
IO_CACHE
*
file
)
...
...
@@ -10426,10 +10424,8 @@ Table_map_log_event::Table_map_log_event(THD *thd, TABLE *tbl, ulong tid,
DBUG_ASSERT
(
static_cast
<
size_t
>
(
cbuf_end
-
cbuf
)
<=
sizeof
(
cbuf
));
m_data_size
+=
(
cbuf_end
-
cbuf
)
+
m_colcnt
;
// COLCNT and column types
#ifdef RBR_TRIGGERS
if
(
tbl
->
triggers
)
m_flags
|=
TM_BIT_HAS_TRIGGERS_F
;
#endif //RBR_TRIGGERS
/* If malloc fails, caught in is_valid() */
if
((
m_memory
=
(
uchar
*
)
my_malloc
(
m_colcnt
,
MYF
(
MY_WME
))))
...
...
@@ -10841,11 +10837,9 @@ int Table_map_log_event::do_apply_event(rpl_group_info *rgi)
DBUG_PRINT
(
"debug"
,
(
"table: %s is mapped to %u"
,
table_list
->
table_name
,
table_list
->
table_id
));
#ifdef RBR_TRIGGERS
table_list
->
master_had_triggers
=
((
m_flags
&
TM_BIT_HAS_TRIGGERS_F
)
?
1
:
0
);
DBUG_PRINT
(
"debug"
,
(
"table->master_had_triggers=%d"
,
(
int
)
table_list
->
master_had_triggers
));
#endif //RBR_TRIGGERS
enum_tbl_map_status
tblmap_status
=
check_table_map
(
rgi
,
table_list
);
if
(
tblmap_status
==
OK_TO_PROCESS
)
...
...
@@ -11196,7 +11190,6 @@ bool Rows_log_event::process_triggers(trg_event_type event,
trg_action_time_type
time_type
,
bool
old_row_is_record1
)
{
#ifdef RBR_TRIGGERS
bool
result
;
DBUG_ENTER
(
"Rows_log_event::process_triggers"
);
if
(
slave_run_triggers_for_rbr
==
SLAVE_RUN_TRIGGERS_FOR_RBR_YES
)
...
...
@@ -11211,9 +11204,6 @@ bool Rows_log_event::process_triggers(trg_event_type event,
time_type
,
old_row_is_record1
);
DBUG_RETURN
(
result
);
#else
return
TRUE
;
#endif //RBR_TRIGGERS
}
/*
Check if there are more UNIQUE keys after the given key.
...
...
@@ -12186,10 +12176,8 @@ Delete_rows_log_event::do_before_row_operations(const Slave_reporting_capability
*/
return
0
;
}
#ifdef RBR_TRIGGERS
if
(
slave_run_triggers_for_rbr
&&
!
master_had_triggers
)
m_table
->
prepare_triggers_for_delete_stmt_or_event
();
#endif //RBR_TRIGGERS
return
find_key
();
}
...
...
sql/mysqld.cc
View file @
01046e7f
...
...
@@ -486,9 +486,7 @@ ulong open_files_limit, max_binlog_size;
ulong
slave_trans_retries
;
uint
slave_net_timeout
;
ulong
slave_exec_mode_options
;
#ifdef RBR_TRIGGERS
ulong
slave_run_triggers_for_rbr
=
0
;
#endif //RBR_TRIGGERS
ulong
slave_ddl_exec_mode_options
=
SLAVE_EXEC_MODE_IDEMPOTENT
;
ulonglong
slave_type_conversions_options
;
ulong
thread_cache_size
=
0
;
...
...
sql/mysqld.h
View file @
01046e7f
...
...
@@ -98,11 +98,7 @@ extern my_bool opt_safe_show_db, opt_local_infile, opt_myisam_use_mmap;
extern
my_bool
opt_slave_compressed_protocol
,
use_temp_pool
;
extern
ulong
slave_exec_mode_options
,
slave_ddl_exec_mode_options
;
extern
ulong
slave_retried_transactions
;
#ifdef RBR_TRIGGERS
extern
ulong
slave_run_triggers_for_rbr
;
#else
#define slave_run_triggers_for_rbr 0
#endif //RBR_TRIGGERS
extern
ulonglong
slave_type_conversions_options
;
extern
my_bool
read_only
,
opt_readonly
;
extern
my_bool
lower_case_file_system
;
...
...
sql/sys_vars.cc
View file @
01046e7f
...
...
@@ -2700,7 +2700,6 @@ static Sys_var_enum Slave_ddl_exec_mode(
GLOBAL_VAR
(
slave_ddl_exec_mode_options
),
CMD_LINE
(
REQUIRED_ARG
),
slave_exec_mode_names
,
DEFAULT
(
SLAVE_EXEC_MODE_IDEMPOTENT
));
#ifdef RBR_TRIGGERS
static
const
char
*
slave_run_triggers_for_rbr_names
[]
=
{
"NO"
,
"YES"
,
"LOGGING"
,
0
};
static
Sys_var_enum
Slave_run_triggers_for_rbr
(
...
...
@@ -2715,7 +2714,6 @@ static Sys_var_enum Slave_run_triggers_for_rbr(
GLOBAL_VAR
(
slave_run_triggers_for_rbr
),
CMD_LINE
(
REQUIRED_ARG
),
slave_run_triggers_for_rbr_names
,
DEFAULT
(
SLAVE_RUN_TRIGGERS_FOR_RBR_NO
));
#endif //RBR_TRIGGERS
static
const
char
*
slave_type_conversions_name
[]
=
{
"ALL_LOSSY"
,
"ALL_NON_LOSSY"
,
0
};
static
Sys_var_set
Slave_type_conversions
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment