summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorInaam Rana <inaam.rana@oracle.com>2012-05-24 12:37:03 -0400
committerInaam Rana <inaam.rana@oracle.com>2012-05-24 12:37:03 -0400
commit0bb636b3315defdcab482b42a4577ef2e2b39527 (patch)
tree29a84d8d06b0fe9c4eb0d1545cf4e5eba20461bf /storage
parent3fcd55f687cba3a0082c34b4508545031c232082 (diff)
downloadmariadb-git-0bb636b3315defdcab482b42a4577ef2e2b39527.tar.gz
Bug #14100254 65389: MVCC IS BROKEN WITH IMPLICIT LOCK
rb://1088 approved by: Marko Makela This bug was introduced in early stages of plugin. We were not checking for an implicit lock on sec index rec for trx_id that is stamped on current version of the clust_index in case where the clust_index has a previous delete marked version.
Diffstat (limited to 'storage')
-rw-r--r--storage/innodb_plugin/row/row0vers.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/storage/innodb_plugin/row/row0vers.c b/storage/innodb_plugin/row/row0vers.c
index 8a7bb842293..9aeaa2db6c0 100644
--- a/storage/innodb_plugin/row/row0vers.c
+++ b/storage/innodb_plugin/row/row0vers.c
@@ -208,18 +208,6 @@ row_vers_impl_x_locked_off_kernel(
vers_del = rec_get_deleted_flag(prev_version, comp);
prev_trx_id = row_get_rec_trx_id(prev_version, clust_index,
clust_offsets);
-
- /* If the trx_id and prev_trx_id are different and if
- the prev_version is marked deleted then the
- prev_trx_id must have already committed for the trx_id
- to be able to modify the row. Therefore, prev_trx_id
- cannot hold any implicit lock. */
- if (vers_del && 0 != ut_dulint_cmp(trx_id, prev_trx_id)) {
-
- mutex_enter(&kernel_mutex);
- break;
- }
-
/* The stack of versions is locked by mtr. Thus, it
is safe to fetch the prefixes for externally stored
columns. */