29 #include "row0uins.ic"
75 row_undo_ins_remove_clust_rec(
91 if (node->
table->
id == DICT_INDEXES_ID) {
104 &(node->
pcur), &mtr);
108 btr_cur = btr_pcur_get_btr_cur(&(node->
pcur));
110 success = btr_cur_optimistic_delete(btr_cur, &mtr);
124 &(node->
pcur), &mtr);
127 btr_cur_pessimistic_delete(&err, FALSE, btr_cur,
136 if (err == DB_OUT_OF_FILE_SPACE
160 row_undo_ins_remove_sec_low(
176 btr_cur = btr_pcur_get_btr_cur(&pcur);
183 switch (search_result) {
198 err = btr_cur_optimistic_delete(btr_cur, &mtr)
199 ? DB_SUCCESS : DB_FAIL;
209 btr_cur_pessimistic_delete(&err, FALSE, btr_cur,
225 row_undo_ins_remove_sec(
237 if (err == DB_SUCCESS) {
266 row_undo_ins_parse_undo_rec(
281 &dummy_extern, &undo_no, &table_id);
282 ut_ad(type == TRX_UNDO_INSERT_REC);
286 node->
table = dict_table_get_on_id(table_id, node->
trx);
289 if (UNIV_UNLIKELY(node->
table == NULL)) {
293 clust_index = dict_table_get_first_index(node->
table);
295 if (clust_index != NULL) {
297 ptr, clust_index, &node->
ref, node->
heap);
300 fprintf(stderr,
" InnoDB: table ");
303 fprintf(stderr,
" has no indexes, "
304 "ignoring the table\n");
327 row_undo_ins_parse_undo_rec(node);
338 node->
index = dict_table_get_next_index(
339 dict_table_get_first_index(node->
table));
341 while (node->
index != NULL) {
347 if (UNIV_UNLIKELY(!entry)) {
360 err = row_undo_ins_remove_sec(node->
index, entry);
362 if (err != DB_SUCCESS) {
368 node->
index = dict_table_get_next_index(node->
index);
372 return(row_undo_ins_remove_clust_rec(node));