| 25653 | */ |
| 25654 | |
| 25655 | static quick_select_return |
| 25656 | test_if_quick_select(JOIN_TAB *tab) |
| 25657 | { |
| 25658 | DBUG_EXECUTE_IF("show_explain_probe_test_if_quick_select", |
| 25659 | if (dbug_user_var_equals_int(tab->join->thd, |
| 25660 | "show_explain_probe_select_id", |
| 25661 | tab->join->select_lex->select_number)) |
| 25662 | dbug_serve_apcs(tab->join->thd, 1); |
| 25663 | ); |
| 25664 | |
| 25665 | |
| 25666 | delete tab->select->quick; |
| 25667 | tab->select->quick=0; |
| 25668 | |
| 25669 | if (tab->table->file->inited != handler::NONE) |
| 25670 | tab->table->file->ha_index_or_rnd_end(); |
| 25671 | |
| 25672 | quick_select_return res; |
| 25673 | Json_writer_object wrapper(tab->join->thd); |
| 25674 | Json_writer_object range_fer(tab->join->thd, |
| 25675 | "range-checked-for-each-record"); |
| 25676 | range_fer.add_select_number(tab->join->select_lex->select_number); |
| 25677 | range_fer.add("loop", tab->join->explain->time_tracker.get_loops()); |
| 25678 | |
| 25679 | Json_writer_array rows_est(tab->join->thd, "rows_estimation"); |
| 25680 | res= tab->select->test_quick_select(tab->join->thd, tab->keys, |
| 25681 | (table_map) 0, HA_POS_ERROR, 0, |
| 25682 | FALSE, /*remove where parts*/FALSE, |
| 25683 | FALSE, |
| 25684 | /* no unusable key notes */ |
| 25685 | Item_func::BITMAP_NONE); |
| 25686 | if (tab->explain_plan && tab->explain_plan->range_checked_fer) |
| 25687 | tab->explain_plan->range_checked_fer->collect_data(tab->select->quick); |
| 25688 | |
| 25689 | return res; |
| 25690 | } |
| 25691 | |
| 25692 | |
| 25693 | /* |
no test coverage detected