1
0
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:
Marko Mäkelä
2020-09-03 09:10:03 +03:00
11 changed files with 66 additions and 25 deletions

View File

@ -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;