- 18 Oct, 2013 2 commits
-
-
timour@askmonty.org authored
-
timour@askmonty.org authored
MDEV-5123 Remove duplicated conditions pushed both to join_tab->select_cond and join_tab->cache_select->cond for blocked joins. BNL and BNLH joins pre-filter the records from a joined table via JOIN_TAB::cache_select->cond. There is no need to re-evaluate the same conditions via JOIN_TAB::select_cond. This patch removes the duplicated conditions from the top-level conjuncts of each pushed condition. The added "Using where" in few EXPLAINs is due to taking into account tab->cache_select->cond in addition to tab->select_cond in JOIN::save_explain_data_intern.
-
- 21 Oct, 2013 5 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 17 Oct, 2013 1 commit
-
-
Sergey Petrunya authored
depends on uninitialised value(s) in JOIN::save_explain_data_intern" - Make find_best() /* the old join optimizer code */ also use table condition selectivity.
-
- 16 Oct, 2013 12 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
Local variable table_name_buffer went out of scope while its content was still being used by a String instance. Moved the variable to the function scope.
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
unknown authored
fix for SP & PS
-
Sergey Petrunya authored
- It turns out, there are statements that will call lex_start(thd->lex) after parsing has been finished. lex_start() will set lex->explain=NULL, which will lose the pointer to already allocated Explain_plan object. - To get rid of this, switch to lazy creation of lex->explain. Now, it is created only when we get a part ot query plan.
-
- 15 Oct, 2013 9 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- MYSQL_MULTI_DELETE_DONE probe compile failure - show_explain_non_select.test
-
Sergey Petrunya authored
- When showing EXPLAIN output in the slow query log, format it so that one could use grep or other tool to get the output.
-
Sergey Petrunya authored
- Save the query plan after the statement was executed so that its gets into the slow query log.
-
Sergey Petrunya authored
- Merge with 10.0-base
-
Sergey Petrunya authored
- Port grant_explain_non_select.{test,result} from mysql-5.6 - Per Sanja's hint, fix mysql_make_view() to take into account that EXPLAIN now is not necessarily EXPLAIN SELECT.
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Fix a problem with EXPLAIN multi_table UPDATE: = Do use multi_update object, because multi_update::prepare() does various setup, e.g. it disables index-only for the tables to be updated. = Protect multi_update::prepare() from being invoked multiple times. If the query has subqueries, they may try to invoke it, for some reason.
-
Sergey Petrunya authored
- eliminate join_save_qpf() function.
-
- 14 Oct, 2013 9 commits
-
-
Igor Babaev authored
-
Sergey Petrunya authored
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
The patch for bug mdev-5105 incorrectly counted conditions in nested joins.
-
Alexey Botchkov authored
The emb_free_embedded_thd() has the thread-unsafe code so should be 'mutexed' also.
-
Sergey Petrunya authored
Update the SHOW EXPLAIN code to work with the new architecture (part#1): Before, SHOW EXPLAIN operated on real query plan structures, which meant it had to check when SELECTs are created/deleted. SELECTs would call apc_target->enable() when they got a query plan and disable() when their query plan was deleted. Now, Explain data structure becomes available at once (and we call apc_target->enable()) and then it stays until it is deleted (when that happens, we call apc_target->disable()).
-
Sergey Petrunya authored
- Fix EXPLAIN INSERT DELAYED ... : do call end_delayed_insert().
-
Igor Babaev authored
-
- 13 Oct, 2013 2 commits
-
-
Igor Babaev authored
-
Alexey Botchkov authored
LOCK_thread_count locked when we do threads.append().
-