- 17 Oct, 2013 1 commit
-
-
Sergey Petrunya authored
-
- 16 Oct, 2013 5 commits
-
-
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.
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
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 11 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- MYSQL_MULTI_DELETE_DONE probe compile failure - show_explain_non_select.test
-
Alexander Barkov authored
The reasons for failures to initialize a user collation defined in Index.xml are now correctly reported (in SHOW WARNINGS and in the server error log) if the COLLATE clause is used with an expression, e.g.: SELECT <exrp> COLLATE <collation name> FROM t1; Previously, the failure reasons were reported only by COLLATE clauses in SET NAMES and in DDL statements, e.g.: SET NAMES utf8 COLLATE utf8_xxx_ci; CREATE TABLE t1 (a VARCHAR(1) CHARACTER SET utf8 COLLATE utf8_xxx_ci);
-
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.
-
Alexander Barkov authored
-
Sergey Petrunya authored
- eliminate join_save_qpf() function.
-
- 14 Oct, 2013 10 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().
-
Sergey Vojtovich authored
When we open merge children open error is normally handled early during open phase. But there are two exceptions when error is handled later during attach phase: CHECK/REPAIR TABLE and tables added by the pre-locking code. The latter case wasn't considered by assertion in the merge code. This assertion is corrected. Note that in MySQL-5.6 this assertion is removed.
-
Igor Babaev authored
-
- 13 Oct, 2013 2 commits
-
-
Igor Babaev authored
-
Alexey Botchkov authored
LOCK_thread_count locked when we do threads.append().
-
- 12 Oct, 2013 1 commit
-
-
Igor Babaev authored
Objects of the classes Item_func_isnull and Item_func_isnotnull must have the flag sargable set to TRUE. Set the value of the flag sargable only in constructors of the classes inherited from Item_int_func.
-
- 11 Oct, 2013 5 commits
-
-
Igor Babaev authored
-
Sergey Petrunya authored
- When INSERT catches an error, it should not attempt to send parts of EXPLAIN output.
-
unknown authored
Make IO thread check for end of event group, so that upon disconnect at the end of an event group it can report the last read GTID as expected. Also inject a fake Rotate event at reconnect when skipping part of an initial event group, to give SQL thread the correct Read_Master_Log_Pos. Reported by Pavel Ivanov.
-
Sergey Petrunya authored
-
Alexander Barkov authored
Mark a few PCRE CMake variables as advanced, so the are not presented in cmake-gui by default.
-
- 10 Oct, 2013 3 commits
-
-
Igor Babaev authored
The bug caused a memory overwrite in the function update_ref_and_keys() It happened due to a wrong value of SELECT_LEX::cond_count. This value historically was calculated by the fix_fields method. Now the logic of calling this method became too complicated and, as a result, this value is calculated not always correctly. The patch changes the way how and when the values of SELECT_LEX::cond_count and of SELECT_LEX::between_count are calculated. The new code does it just at the beginning of update_ref_and_keys().
-
Sergey Petrunya authored
- Don't save UNION's EXPLAIN data if optimization failed with an error. We could end up saving incomplete plan, which will cause a crash when we attempt to print it.
-
Alexey Botchkov authored
Additional patch for the 5.5.
-
- 09 Oct, 2013 2 commits
-
-
Sergey Petrunya authored
Backport mysql-test/t/myisam_explain_non_select_all.test from mysql-5.6 - the .result file was modified because MariaDB choses different query plans in a number cases. Also, we don't have some of the "incorrect EXPLAIN output" bugs that they still have. The .test file and includes were taken verbatim with one exception: two tests were disabled with --disable parsing: 1. @@sql_safe_updates is not enforced EXPLAINs of multitable updates. In MariaDB, the execution itself will produce ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE, but EXPLAIN won't. 2. Their case #71 hits some old bug in MyISAM (See their comments in explain_non_select.inc for details).
-
Sergey Petrunya authored
- Produce correct `key_len` when type=index.
-