• Andrei Elkin's avatar
    Bug#36443 Server crashes when executing insert when insert trigger on table · e66ba2a7
    Andrei Elkin authored
                            
          The crash appeared to be a result of allocating an instance of Discrete_interval 
          automatically that that was referred in out-of-declaration scope.
                            
          Fixed with correcting backing up and restoring scheme of
          auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
          added simulation code that forces executing those fixes of the former bug that
          targeted at master-and-slave having incompatible bug#33029-prone versions.
    
    mysql-test/suite/bugs/r/rpl_bug33029.result:
      new results file
    mysql-test/suite/bugs/t/rpl_bug33029.test:
      test merely checks no crash happens on slave.
    sql/slave.cc:
      forcing to execute special logics implemented for bug#33029 if
      simulate_bug33029 the debug option is set.
    sql/sql_class.cc:
      swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
    sql/structs.h:
      Removing the deep _copy() and methods associated with it;
      adding methods to Discrete_intervals_list:
          
      private `=', copy constructor to prevent using;
      private set_members();
      public  copy_shallow(), swap(), get_{head, tail, current}();
              empty_no_free() through set_members().
    e66ba2a7
structs.h 12.1 KB