mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.1 into 10.2
This commit is contained in:
@ -349,16 +349,22 @@ Rpl_filter::set_do_table(const char* table_spec)
|
||||
int status;
|
||||
|
||||
if (do_table_inited)
|
||||
my_hash_reset(&do_table);
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_do_table);
|
||||
|
||||
if (!do_table.records)
|
||||
{
|
||||
my_hash_free(&do_table);
|
||||
do_table_inited= 0;
|
||||
}
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_do_table);
|
||||
|
||||
if (do_table_inited && status)
|
||||
{
|
||||
if (!do_table.records)
|
||||
{
|
||||
my_hash_free(&do_table);
|
||||
do_table_inited= 0;
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -369,16 +375,22 @@ Rpl_filter::set_ignore_table(const char* table_spec)
|
||||
int status;
|
||||
|
||||
if (ignore_table_inited)
|
||||
my_hash_reset(&ignore_table);
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_ignore_table);
|
||||
|
||||
if (!ignore_table.records)
|
||||
{
|
||||
my_hash_free(&ignore_table);
|
||||
ignore_table_inited= 0;
|
||||
}
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_ignore_table);
|
||||
|
||||
if (ignore_table_inited && status)
|
||||
{
|
||||
if (!ignore_table.records)
|
||||
{
|
||||
my_hash_free(&ignore_table);
|
||||
ignore_table_inited= 0;
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -411,14 +423,20 @@ Rpl_filter::set_wild_do_table(const char* table_spec)
|
||||
int status;
|
||||
|
||||
if (wild_do_table_inited)
|
||||
{
|
||||
free_string_array(&wild_do_table);
|
||||
wild_do_table_inited= 0;
|
||||
}
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_wild_do_table);
|
||||
|
||||
if (!wild_do_table.elements)
|
||||
if (wild_do_table_inited && status)
|
||||
{
|
||||
delete_dynamic(&wild_do_table);
|
||||
wild_do_table_inited= 0;
|
||||
if (!wild_do_table.elements)
|
||||
{
|
||||
delete_dynamic(&wild_do_table);
|
||||
wild_do_table_inited= 0;
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
@ -431,14 +449,20 @@ Rpl_filter::set_wild_ignore_table(const char* table_spec)
|
||||
int status;
|
||||
|
||||
if (wild_ignore_table_inited)
|
||||
{
|
||||
free_string_array(&wild_ignore_table);
|
||||
wild_ignore_table_inited= 0;
|
||||
}
|
||||
|
||||
status= parse_filter_rule(table_spec, &Rpl_filter::add_wild_ignore_table);
|
||||
|
||||
if (!wild_ignore_table.elements)
|
||||
if (wild_ignore_table_inited && status)
|
||||
{
|
||||
delete_dynamic(&wild_ignore_table);
|
||||
wild_ignore_table_inited= 0;
|
||||
if (!wild_ignore_table.elements)
|
||||
{
|
||||
delete_dynamic(&wild_ignore_table);
|
||||
wild_ignore_table_inited= 0;
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
|
Reference in New Issue
Block a user