diff -rc --exclude=sql_yacc.cc --exclude=sql_yacc.h --exclude='*.orig' mysql-5.7.2/storage/innobase/row/row0ins.cc mysql-5.7.2-patched/storage/innobase/row/row0ins.cc *** mysql-5.7.2/storage/innobase/row/row0ins.cc 2013-09-11 20:10:40.000000000 +0800 --- mysql-5.7.2-patched/storage/innobase/row/row0ins.cc 2013-11-25 20:37:27.000000000 +0800 *************** *** 143,148 **** --- 143,149 ---- const dict_col_t* col; dfield_t* dfield; byte* ptr; + byte* ptr2; row = node->row; table = node->table; *************** *** 157,163 **** dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! ptr = static_cast(mem_heap_zalloc(heap, DATA_ROW_ID_LEN)); dfield_set_data(dfield, ptr, DATA_ROW_ID_LEN); --- 158,165 ---- dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! ptr2 = static_cast(mem_heap_zalloc(heap, DATA_ROW_ID_LEN + DATA_TRX_ID_LEN + DATA_ROLL_PTR_LEN)); ! ptr = ptr2; dfield_set_data(dfield, ptr, DATA_ROW_ID_LEN); *************** *** 168,174 **** col = dict_table_get_sys_col(table, DATA_TRX_ID); dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! ptr = static_cast(mem_heap_zalloc(heap, DATA_TRX_ID_LEN)); dfield_set_data(dfield, ptr, DATA_TRX_ID_LEN); --- 170,177 ---- col = dict_table_get_sys_col(table, DATA_TRX_ID); dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! /* ptr = static_cast(mem_heap_zalloc(heap, DATA_TRX_ID_LEN)); */ ! ptr = ptr2 + DATA_ROW_ID_LEN; dfield_set_data(dfield, ptr, DATA_TRX_ID_LEN); *************** *** 179,185 **** col = dict_table_get_sys_col(table, DATA_ROLL_PTR); dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! ptr = static_cast(mem_heap_zalloc(heap, DATA_ROLL_PTR_LEN)); dfield_set_data(dfield, ptr, DATA_ROLL_PTR_LEN); } --- 182,189 ---- col = dict_table_get_sys_col(table, DATA_ROLL_PTR); dfield = dtuple_get_nth_field(row, dict_col_get_no(col)); ! /* ptr = static_cast(mem_heap_zalloc(heap, DATA_ROLL_PTR_LEN)); */ ! ptr = ptr2 + DATA_ROW_ID_LEN + DATA_TRX_ID_LEN; dfield_set_data(dfield, ptr, DATA_ROLL_PTR_LEN); }