summaryrefslogtreecommitdiff
path: root/storage/innobase/handler/ha_innodb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/handler/ha_innodb.cc')
-rw-r--r--storage/innobase/handler/ha_innodb.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index 8a37c67eb6a..1fcfefa8b47 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -7396,9 +7396,12 @@ ha_innobase::build_template(
ulint num_v = 0;
- if ((active_index != MAX_KEY
- && active_index == pushed_idx_cond_keyno)
- || (pushed_rowid_filter && rowid_filter_is_active)) {
+ if (active_index != MAX_KEY
+ && active_index == pushed_idx_cond_keyno) {
+ m_prebuilt->idx_cond = this;
+ goto icp;
+ } else if (pushed_rowid_filter && rowid_filter_is_active) {
+icp:
/* Push down an index condition or an end_range check. */
for (ulint i = 0; i < n_fields; i++) {
const Field* field = table->field[i];
@@ -7579,9 +7582,6 @@ ha_innobase::build_template(
}
}
}
- if (active_index == pushed_idx_cond_keyno) {
- m_prebuilt->idx_cond = this;
- }
} else {
no_icp:
/* No index condition pushdown */