Skip to content
  • Luis Soares's avatar
    739a3b28
    BUG#37656: lower_case_table_names=1 doesn't convert database · 739a3b28
    Luis Soares authored
               names in replicated statements
    
    BUG#50653: drop procedure implicitely treats db name in a case
               sensitive way
          
    This bug revealed itself while using case sensitive filesystems
    and exhibited two symptoms:
          
      1. If setting lower_case_table_names=1 on the slave, but not on
         the master, this setting will not convert database name in
         replicated statements, ultimately breaking replication;
          
      2. The same problem for symptom 1. surfaced in RBR, but this
         time for table names, as these would not be converted to
         lower case for row based replication events.
          
    Symptom 1. is addressed by conditionally converting to lower
    case, database name on Query_log_event constructor and
    Load_log_event::do_apply_event.
          
    Symptom 2. is addressed by conditionally converting to lower
    database name and table name when processing Table_map_log_event.
    
    A side note on BUG#50653. It's basically a duplicate of BUG#37656
    but I included a test case for it in this patch.
    739a3b28
    BUG#37656: lower_case_table_names=1 doesn't convert database
    Luis Soares authored
               names in replicated statements
    
    BUG#50653: drop procedure implicitely treats db name in a case
               sensitive way
          
    This bug revealed itself while using case sensitive filesystems
    and exhibited two symptoms:
          
      1. If setting lower_case_table_names=1 on the slave, but not on
         the master, this setting will not convert database name in
         replicated statements, ultimately breaking replication;
          
      2. The same problem for symptom 1. surfaced in RBR, but this
         time for table names, as these would not be converted to
         lower case for row based replication events.
          
    Symptom 1. is addressed by conditionally converting to lower
    case, database name on Query_log_event constructor and
    Load_log_event::do_apply_event.
          
    Symptom 2. is addressed by conditionally converting to lower
    database name and table name when processing Table_map_log_event.
    
    A side note on BUG#50653. It's basically a duplicate of BUG#37656
    but I included a test case for it in this patch.
Loading