Loading sql/rpl_filter.cc +24 −17 Original line number Diff line number Diff line Loading @@ -449,9 +449,11 @@ Rpl_filter::free_string_array(DYNAMIC_ARRAY *a) */ void Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h) Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h, bool inited) { s->length(0); if (inited) { for (uint i= 0; i < h->records; i++) { TABLE_RULE_ENT* e= (TABLE_RULE_ENT*) hash_element(h, i); Loading @@ -460,12 +462,16 @@ Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h) s->append(e->db,e->key_len); } } } void Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a) Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a, bool inited) { s->length(0); if (inited) { for (uint i= 0; i < a->elements; i++) { TABLE_RULE_ENT* e; Loading @@ -475,33 +481,34 @@ Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a) s->append(e->db,e->key_len); } } } void Rpl_filter::get_do_table(String* str) { table_rule_ent_hash_to_str(str, &do_table); table_rule_ent_hash_to_str(str, &do_table, do_table_inited); } void Rpl_filter::get_ignore_table(String* str) { table_rule_ent_hash_to_str(str, &ignore_table); table_rule_ent_hash_to_str(str, &ignore_table, ignore_table_inited); } void Rpl_filter::get_wild_do_table(String* str) { table_rule_ent_dynamic_array_to_str(str, &wild_do_table); table_rule_ent_dynamic_array_to_str(str, &wild_do_table, wild_do_table_inited); } void Rpl_filter::get_wild_ignore_table(String* str) { table_rule_ent_dynamic_array_to_str(str, &wild_ignore_table); table_rule_ent_dynamic_array_to_str(str, &wild_ignore_table, wild_ignore_table_inited); } Loading sql/rpl_filter.h +7 −2 Original line number Diff line number Diff line Loading @@ -87,10 +87,15 @@ class Rpl_filter void free_string_array(DYNAMIC_ARRAY *a); void table_rule_ent_hash_to_str(String* s, HASH* h); void table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a); void table_rule_ent_hash_to_str(String* s, HASH* h, bool inited); void table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a, bool inited); TABLE_RULE_ENT* find_wild(DYNAMIC_ARRAY *a, const char* key, int len); /* Those 4 structures below are uninitialized memory unless the corresponding *_inited variables are "true". */ HASH do_table; HASH ignore_table; DYNAMIC_ARRAY wild_do_table; Loading Loading
sql/rpl_filter.cc +24 −17 Original line number Diff line number Diff line Loading @@ -449,9 +449,11 @@ Rpl_filter::free_string_array(DYNAMIC_ARRAY *a) */ void Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h) Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h, bool inited) { s->length(0); if (inited) { for (uint i= 0; i < h->records; i++) { TABLE_RULE_ENT* e= (TABLE_RULE_ENT*) hash_element(h, i); Loading @@ -460,12 +462,16 @@ Rpl_filter::table_rule_ent_hash_to_str(String* s, HASH* h) s->append(e->db,e->key_len); } } } void Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a) Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a, bool inited) { s->length(0); if (inited) { for (uint i= 0; i < a->elements; i++) { TABLE_RULE_ENT* e; Loading @@ -475,33 +481,34 @@ Rpl_filter::table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a) s->append(e->db,e->key_len); } } } void Rpl_filter::get_do_table(String* str) { table_rule_ent_hash_to_str(str, &do_table); table_rule_ent_hash_to_str(str, &do_table, do_table_inited); } void Rpl_filter::get_ignore_table(String* str) { table_rule_ent_hash_to_str(str, &ignore_table); table_rule_ent_hash_to_str(str, &ignore_table, ignore_table_inited); } void Rpl_filter::get_wild_do_table(String* str) { table_rule_ent_dynamic_array_to_str(str, &wild_do_table); table_rule_ent_dynamic_array_to_str(str, &wild_do_table, wild_do_table_inited); } void Rpl_filter::get_wild_ignore_table(String* str) { table_rule_ent_dynamic_array_to_str(str, &wild_ignore_table); table_rule_ent_dynamic_array_to_str(str, &wild_ignore_table, wild_ignore_table_inited); } Loading
sql/rpl_filter.h +7 −2 Original line number Diff line number Diff line Loading @@ -87,10 +87,15 @@ class Rpl_filter void free_string_array(DYNAMIC_ARRAY *a); void table_rule_ent_hash_to_str(String* s, HASH* h); void table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a); void table_rule_ent_hash_to_str(String* s, HASH* h, bool inited); void table_rule_ent_dynamic_array_to_str(String* s, DYNAMIC_ARRAY* a, bool inited); TABLE_RULE_ENT* find_wild(DYNAMIC_ARRAY *a, const char* key, int len); /* Those 4 structures below are uninitialized memory unless the corresponding *_inited variables are "true". */ HASH do_table; HASH ignore_table; DYNAMIC_ARRAY wild_do_table; Loading