mirror of
https://github.com/MariaDB/server.git
synced 2025-03-26 08:58:40 +01:00
Merge 10.1 into 10.2
This commit is contained in:
commit
1d526f31fb
9 changed files with 37 additions and 68 deletions
mysql-test
extra/rpl_tests
include
suite/rpl/r
storage
|
@ -65,6 +65,8 @@ flush logs;
|
|||
# To make it predictable, we do a useless update now, but which has the
|
||||
# interest of making the slave catch both rotate events.
|
||||
|
||||
let $skip_checkpoint_events=1;
|
||||
|
||||
eval create table t3 (a int)ENGINE=$engine_type;
|
||||
|
||||
# Sync slave and force it to start on another binary log
|
||||
|
|
|
@ -53,6 +53,9 @@
|
|||
#
|
||||
# $rpl_debug
|
||||
# If set, verbose debug info is printed.
|
||||
#
|
||||
# $filter_script
|
||||
# If set, rows matching this regexp will be filtered out
|
||||
|
||||
--let $include_filename= filter_file.inc
|
||||
--source include/begin_include_file.inc
|
||||
|
@ -67,10 +70,12 @@ if ($rpl_debug)
|
|||
|
||||
--let _FF_PRE_SCRIPT= $pre_script
|
||||
--let _FF_SCRIPT= $script
|
||||
--let _FF_FILTER_SCRIPT= $filter_script
|
||||
--let _FF_INPUT_FILE= $input_file
|
||||
--let _FF_OUTPUT_FILE= $output_file
|
||||
--let _FF_SELECT_COLUMNS= $select_columns
|
||||
--let _FF_DEBUG= $rpl_debug
|
||||
|
||||
if (!$output_file)
|
||||
{
|
||||
--let _FF_OUTPUT_FILE= $input_file
|
||||
|
@ -79,6 +84,7 @@ perl;
|
|||
my $pre_script = $ENV{'_FF_PRE_SCRIPT'};
|
||||
$pre_script =~ s/DOLLAR/\$/g;
|
||||
my $script = $ENV{'_FF_SCRIPT'};
|
||||
my $filter_script = $ENV{'_FF_FILTER_SCRIPT'};
|
||||
$script =~ s/DOLLAR/\$/g;
|
||||
my $input_file = $ENV{'_FF_INPUT_FILE'};
|
||||
my $output_file = $ENV{'_FF_OUTPUT_FILE'};
|
||||
|
@ -123,7 +129,10 @@ perl;
|
|||
{
|
||||
' . $script . '
|
||||
}
|
||||
$filtered_contents .= $_."\n";
|
||||
if (!$filter_script || ! m/$filter_script/)
|
||||
{
|
||||
$filtered_contents .= $_."\n";
|
||||
}
|
||||
}
|
||||
close FILE or die "Error closing $input_file: $!";
|
||||
open FILE, "> $output_file" or die "Error opening $output_file: $!";
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# [--let $binlog_file= [<FILENAME> | LAST]]
|
||||
# [--let $binlog_start= <POSITION> ]
|
||||
# [--let $binlog_limit= 1, 3 ]
|
||||
# [--let $keep_gtid_events= 1]
|
||||
# [--let $skip_checkpoint_events= 1]
|
||||
# --source include/show_binlog_events.inc
|
||||
#
|
||||
# Parameters:
|
||||
|
@ -26,12 +26,6 @@
|
|||
# Limit for the 'LIMIT' clause of SHOW BINLOG EVENTS, i.e.:
|
||||
# $binlog_limit= 3 -- print three events
|
||||
# $binlog_limit= 4, 3 -- skip four events, print the three next events
|
||||
#
|
||||
# $keep_gtid_events
|
||||
# By default, Gtid_log_event and Previous_gtid_log_event are
|
||||
# filtered out, so that the output is independent of whether GTIDs
|
||||
# are enabled or not. If this flag is set, events are kept but
|
||||
# the actual GTID values are masked out.
|
||||
|
||||
--let $include_filename= show_binlog_events.inc
|
||||
--source include/begin_include_file.inc
|
||||
|
|
|
@ -104,8 +104,15 @@ let $script=
|
|||
s{DOLLARmysqltest_vardir}{MYSQLTEST_VARDIR}g;
|
||||
||
|
||||
--let $pre_script= my DOLLARmysqltest_vardir = DOLLARENV{'MYSQLTEST_VARDIR'};
|
||||
|
||||
--delimiter ;
|
||||
|
||||
if ($skip_checkpoint_events)
|
||||
{
|
||||
let $filter_script=Binlog_checkpoint;
|
||||
}
|
||||
|
||||
|
||||
#--let $select_columns= 1 3 6
|
||||
--let $input_file= $output_file
|
||||
--source include/filter_file.inc
|
||||
|
|
|
@ -226,7 +226,6 @@ master-bin.000001 # Query # # COMMIT
|
|||
master-bin.000001 # Rotate # # master-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Binlog_checkpoint # # master-bin.000002
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
|
@ -268,7 +267,6 @@ slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
|
|||
slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
|
||||
slave-bin.000002 # Gtid # # GTID #-#-#
|
||||
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
|
||||
slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
|
||||
|
|
|
@ -226,7 +226,6 @@ master-bin.000001 # Xid # # COMMIT /* XID */
|
|||
master-bin.000001 # Rotate # # master-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Binlog_checkpoint # # master-bin.000002
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=InnoDB
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
|
@ -268,7 +267,6 @@ slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=InnoDB
|
|||
slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
|
||||
slave-bin.000002 # Gtid # # GTID #-#-#
|
||||
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=InnoDB
|
||||
slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
|
||||
|
|
|
@ -222,7 +222,6 @@ master-bin.000001 # Query # # COMMIT
|
|||
master-bin.000001 # Rotate # # master-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Binlog_checkpoint # # master-bin.000002
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
|
||||
master-bin.000002 # Gtid # # GTID #-#-#
|
||||
|
@ -260,7 +259,6 @@ slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
|
|||
slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
|
||||
slave-bin.000002 # Gtid # # GTID #-#-#
|
||||
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
|
||||
slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
|
||||
|
|
|
@ -207,11 +207,9 @@ stats and eventually save its stats. */
|
|||
static
|
||||
void
|
||||
dict_stats_process_entry_from_defrag_pool()
|
||||
/*=======================================*/
|
||||
{
|
||||
table_id_t table_id;
|
||||
index_id_t index_id;
|
||||
dberr_t err = DB_SUCCESS;
|
||||
|
||||
ut_ad(!srv_read_only_mode);
|
||||
|
||||
|
@ -230,40 +228,19 @@ dict_stats_process_entry_from_defrag_pool()
|
|||
table = dict_table_open_on_id(table_id, TRUE,
|
||||
DICT_TABLE_OP_OPEN_ONLY_IF_CACHED);
|
||||
|
||||
if (table == NULL) {
|
||||
dict_index_t* index = table && !table->corrupted
|
||||
? dict_table_find_index_on_id(table, index_id)
|
||||
: NULL;
|
||||
|
||||
if (!index || dict_index_is_corrupted(index)) {
|
||||
if (table) {
|
||||
dict_table_close(table, TRUE, FALSE);
|
||||
}
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check whether table is corrupted */
|
||||
if (table->corrupted) {
|
||||
dict_table_close(table, TRUE, FALSE);
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
return;
|
||||
}
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
|
||||
dict_index_t* index = dict_table_find_index_on_id(table, index_id);
|
||||
|
||||
if (index == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check whether index is corrupted */
|
||||
if (dict_index_is_corrupted(index)) {
|
||||
dict_table_close(table, FALSE, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
err = dict_stats_save_defrag_stats(index);
|
||||
|
||||
if (err != DB_SUCCESS) {
|
||||
ib::error() << "Saving defragmentation status for table "
|
||||
<< index->table->name.m_name
|
||||
<< " index " << index->name()
|
||||
<< " failed " << err;
|
||||
}
|
||||
|
||||
dict_stats_save_defrag_stats(index);
|
||||
dict_table_close(table, FALSE, FALSE);
|
||||
}
|
||||
|
||||
|
|
|
@ -479,7 +479,6 @@ stats and eventually save its stats. */
|
|||
static
|
||||
void
|
||||
dict_stats_process_entry_from_defrag_pool()
|
||||
/*=======================================*/
|
||||
{
|
||||
table_id_t table_id;
|
||||
index_id_t index_id;
|
||||
|
@ -501,31 +500,18 @@ dict_stats_process_entry_from_defrag_pool()
|
|||
table = dict_table_open_on_id(table_id, TRUE,
|
||||
DICT_TABLE_OP_OPEN_ONLY_IF_CACHED);
|
||||
|
||||
if (table == NULL) {
|
||||
dict_index_t* index = table && !table->corrupted
|
||||
? dict_table_find_index_on_id(table, index_id)
|
||||
: NULL;
|
||||
|
||||
if (!index || dict_index_is_corrupted(index)) {
|
||||
if (table) {
|
||||
dict_table_close(table, TRUE, FALSE);
|
||||
}
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check whether table is corrupted */
|
||||
if (table->corrupted) {
|
||||
dict_table_close(table, TRUE, FALSE);
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
return;
|
||||
}
|
||||
mutex_exit(&dict_sys->mutex);
|
||||
|
||||
dict_index_t* index = dict_table_find_index_on_id(table, index_id);
|
||||
|
||||
if (index == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check whether index is corrupted */
|
||||
if (dict_index_is_corrupted(index)) {
|
||||
dict_table_close(table, FALSE, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
dict_stats_save_defrag_stats(index);
|
||||
dict_table_close(table, FALSE, FALSE);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue