• Georgi Kodinov's avatar
    Bug #37936: ASSERT_COLUMN_MARKED_FOR_WRITE in Field_datetime::store , · d44d9aae
    Georgi Kodinov authored
    Field_varstring::store
          
    The code that temporary saved the bitmaps of the read set and the write set so that
    it can set it to all columns for debug purposes was not expecting that the
    table->read_set and table->write_set can be the same. And was always saving both in 
    sequence.
    As a result the original value was never restored.
    Fixed by saving & restoring the original value only once if the two sets are the
    same (in a special set of functions).
    
    mysql-test/r/select.result:
      Bug #37936: test case
    mysql-test/t/select.test:
      Bug #37936: test case
    sql/item_cmpfunc.cc:
      Bug #37936: don't save/restore twice if the read and write sets are the same
    sql/opt_range.cc:
      Bug #37936: don't save/restore twice if the read and write sets are the same
    sql/table.h:
      Bug #37936: Make a designated set of functions that save/restore
      both the read and the write sets in a single call.
    d44d9aae
opt_range.cc 353 KB