3839 Marko Mäkelä 2012-05-16
row_undo_mod_remove_clust_low(): Temporarily disable
the failing assertions on rec_get_trx_id().
modified:
storage/innobase/row/row0umod.cc
3838 Marko Mäkelä 2012-05-16
WL#6255 preparation: Add rollback assertions on DB_TRX_ID == trx->id.
rec_get_trx_id(): New function, available in debug builds.
row_undo_ins_remove_clust_rec(), row_undo_mod_clust_low(): Assert that
rec_get_trx_id() matches trx->id.
row_undo_mod_remove_clust_low(): Assert that rec_get_trx_id() matches
trx->id and the record is not delete-marked, or the transaction is
TRX_DICT_OP_TABLE. For some reason, these assertions would fail during
a rollback in ADD FOREIGN KEY (innodb-index.test, innodb_16k.test).
modified:
storage/innobase/include/rem0rec.h
storage/innobase/rem/rem0rec.cc
storage/innobase/row/row0uins.cc
storage/innobase/row/row0umod.cc
=== modified file 'storage/innobase/row/row0umod.cc'
--- a/storage/innobase/row/row0umod.cc revid:marko.makela@stripped
+++ b/storage/innobase/row/row0umod.cc revid:marko.makela@oracle.com-20120516132723-kn3bv1vv0es0205r
@@ -194,16 +194,13 @@ row_undo_mod_remove_clust_low(
btr_cur = btr_pcur_get_btr_cur(&node->pcur);
+#if 0 /* TODO: find out why these fail */
ut_ad(rec_get_trx_id(btr_cur_get_rec(btr_cur),
btr_cur_get_index(btr_cur))
- == thr_get_trx(thr)->id
- /* TODO: why is the below needed?
- innodb.innodb-index innodb.innodb_16k fails otherwise */
- || thr_get_trx(thr)->dict_operation == TRX_DICT_OP_TABLE);
+ == thr_get_trx(thr)->id);
ut_ad(!rec_get_deleted_flag(btr_cur_get_rec(btr_cur),
- dict_table_is_comp(node->table))
- /* TODO: remove the below */
- || thr_get_trx(thr)->dict_operation == TRX_DICT_OP_TABLE);
+ dict_table_is_comp(node->table)));
+#endif
if (mode == BTR_MODIFY_LEAF) {
err = btr_cur_optimistic_delete(btr_cur, 0, mtr)
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk-wl6255 branch (marko.makela:3838 to 3839) | marko.makela | 16 May |