@@ -212,6 +212,22 @@ void Update_plan::save_explain_data_intern(MEM_ROOT *mem_root,
212212}
213213
214214
215+ inline
216+ int TABLE::delete_row ()
217+ {
218+ int error;
219+ if (!versioned ())
220+ error= file->ha_delete_row (record[0 ]);
221+ else
222+ {
223+ store_record (this , record[1 ]);
224+ vers_end_field ()->set_time ();
225+ error= file->ha_update_row (record[1 ], record[0 ]);
226+ }
227+ return error;
228+ }
229+
230+
215231/* *
216232 Implement DELETE SQL word.
217233
@@ -587,15 +603,7 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
587603 break ;
588604 }
589605
590- if (!table->versioned ())
591- error= table->file ->ha_delete_row (table->record [0 ]);
592- else
593- {
594- store_record (table,record[1 ]);
595- table->vers_end_field ()->set_time ();
596- error= table->file ->ha_update_row (table->record [1 ],
597- table->record [0 ]);
598- }
606+ error= table->delete_row ();
599607 if (!error)
600608 {
601609deleted++;
@@ -1086,15 +1094,8 @@ int multi_delete::send_data(List<Item> &values)
10861094 TRG_ACTION_BEFORE, FALSE ))
10871095 DBUG_RETURN (1 );
10881096 table->status |= STATUS_DELETED;
1089- if (!table->versioned ())
1090- error= table->file ->ha_delete_row (table->record [0 ]);
1091- else
1092- {
1093- store_record (table,record[1 ]);
1094- table->vers_end_field ()->set_time ();
1095- error= table->file ->ha_update_row (table->record [1 ],
1096- table->record [0 ]);
1097- }
1097+
1098+ error= table->delete_row ();
10981099 if (!error)
10991100 {
11001101 deleted++;
@@ -1275,15 +1276,7 @@ int multi_delete::do_table_deletes(TABLE *table, SORT_INFO *sort_info,
12751276 break ;
12761277 }
12771278
1278- if (!table->versioned ())
1279- local_error= table->file ->ha_delete_row (table->record [0 ]);
1280- else
1281- {
1282- store_record (table,record[1 ]);
1283- table->vers_end_field ()->set_time ();
1284- local_error= table->file ->ha_update_row (table->record [1 ],
1285- table->record [0 ]);
1286- }
1279+ local_error= table->delete_row ();
12871280 if (local_error && !ignore)
12881281 {
12891282 table->file ->print_error (local_error, MYF (0 ));
0 commit comments