summaryrefslogtreecommitdiff
path: root/storage/innobase/row/row0sel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/row/row0sel.cc')
-rw-r--r--storage/innobase/row/row0sel.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/storage/innobase/row/row0sel.cc b/storage/innobase/row/row0sel.cc
index 7a859ab8b09..16b5e43e9c5 100644
--- a/storage/innobase/row/row0sel.cc
+++ b/storage/innobase/row/row0sel.cc
@@ -4397,6 +4397,16 @@ early_not_found:
DBUG_RETURN(DB_END_OF_INDEX);
}
+ if (trx_id_t bulk_trx_id = index->table->bulk_trx_id) {
+ if (trx->isolation_level != TRX_ISO_READ_UNCOMMITTED
+ && trx->read_view.is_open()
+ && !trx->read_view.changes_visible(
+ bulk_trx_id, index->table->name)) {
+ trx->op_info = "";
+ DBUG_RETURN(DB_END_OF_INDEX);
+ }
+ }
+
/* if the query is a plain locking SELECT, and the isolation level
is <= TRX_ISO_READ_COMMITTED, then this is set to FALSE */
bool did_semi_consistent_read = false;