diff --git a/mysql-test/r/explain_json.result b/mysql-test/r/explain_json.result index a46a3bcefa5..9e5515f3cfa 100644 --- a/mysql-test/r/explain_json.result +++ b/mysql-test/r/explain_json.result @@ -1524,12 +1524,12 @@ ANALYZE "key_length": "5", "used_key_parts": ["a"], "ref": ["test.t3.a"], - "r_loops": 0, + "r_loops": 1, "rows": 1, - "r_rows": null, + "r_rows": 10, "r_total_time_ms": "REPLACED", "filtered": 100, - "r_filtered": null, + "r_filtered": 100, "index_condition_bka": "((t4.b + 1) <= (t3.b + 1))" }, "buffer_type": "flat", diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc index 1023aea4cd4..75e69298809 100644 --- a/sql/sql_join_cache.cc +++ b/sql/sql_join_cache.cc @@ -3877,6 +3877,7 @@ int JOIN_TAB_SCAN_MRR::open() /* Dynamic range access is never used with BKA */ DBUG_ASSERT(join_tab->use_quick != 2); + join_tab->tracker->r_scans++; save_or_restore_used_tabs(join_tab, FALSE); init_mrr_buff(); @@ -3920,6 +3921,8 @@ int JOIN_TAB_SCAN_MRR::next() int rc= join_tab->table->file->multi_range_read_next((range_id_t*)ptr) ? -1 : 0; if (!rc) { + join_tab->tracker->r_rows++; + join_tab->tracker->r_rows_after_where++; /* If a record in in an incremental cache contains no fields then the association for the last record in cache will be equal to cache->end_pos