summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added the new roles_mapping table to mysql_system_tables.sql script.Vicențiu Ciorbaru2013-10-171-0/+9
|
* Removed extra empty linetimour@askmonty.org2013-10-181-1/+0
|
* MDEV-5123 Remove duplicated conditions pushed both to join_tab->select_cond ↵timour@askmonty.org2013-10-1812-27/+210
| | | | | | | | | | | | 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.
* Merge 5.5 -> 10.0-baseAlexander Barkov2013-10-212-1/+5
|\
| * Merge 5.3 -> 5.5Alexander Barkov2013-10-212-1/+5
| |\
| | * Merge 5.2 -> 5.3Alexander Barkov2013-10-212-1/+5
| | |\
| | | * Merge 5.1 -> 5.2Alexander Barkov2013-10-212-1/+5
| | | |\
| | | | * A clean-up for DEV-4890 Valgrind warnings on shutdown on a build with openSSLAlexander Barkov2013-10-212-1/+5
| | | | |
* | | | | Fix valgrind failure in subselect3.test, "Conditional jump or move Sergey Petrunya2013-10-171-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | depends on uninitialised value(s) in JOIN::save_explain_data_intern" - Make find_best() /* the old join optimizer code */ also use table condition selectivity.
* | | | | Merge 5.5 -> 10.0-baseAlexander Barkov2013-10-164-0/+24
|\ \ \ \ \ | |/ / / /
| * | | | Merge 5.3->5.5Alexander Barkov2013-10-164-0/+24
| |\ \ \ \ | | |/ / /
| | * | | Merge 5.2->5.3Alexander Barkov2013-10-160-0/+0
| | |\ \ \ | | | |/ /
| | | * | Merge 5.1->5.2Alexander Barkov2013-10-164-0/+24
| | | |\ \ | | | | |/
| | * | | Merge 5.1 -> 5.3Alexander Barkov2013-10-164-0/+24
| | |\ \ \ | | | | |/ | | | |/|
| | | * | MDEV-4890 Valgrind warnings on shutdown on a build with openSSLAlexander Barkov2013-10-164-0/+24
| | | | |
* | | | | Merge 5.5 -> 10.0-baseAlexander Barkov2013-10-163-1/+92
|\ \ \ \ \ | |/ / / /
| * | | | Merge 5.3 -> 5.5.Alexander Barkov2013-10-163-1/+92
| |\ \ \ \ | | |/ / /
| | * | | MDEV-5107:Left Join Yields All Nulls Instead of Appropriate Matchesunknown2013-10-113-1/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-5034:Wrong result on LEFT JOIN with a SELECT SQ or a merge view, UNION in IN subquery Make reset null_row same as it was set in evaluate_null_complemented_join_record(). The problem was that view firlds detect null_row by not-yet-reset table.
* | | | | Merge 5.5 -> 10.0-baseAlexander Barkov2013-10-166-2/+261
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-4981: Account for queries handled by query-cache in USER_STATISTICS ↵unknown2013-10-165-1/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (and in HOST_STATISTICS) fix for SP & PS
| * | | | MDEV-4981: Account for queries handled by query-cache in USER_STATISTICS ↵unknown2013-10-044-2/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (and in HOST_STATISTICS) Added collection statistics for queries resolved via query cache.
* | | | | A clean-up for "MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE".Alexander Barkov2013-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE, Memory leak in ↵Sergey Petrunya2013-10-1611-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | binlog.binlog_base64_flag: - 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.
* | | | | Fix valgrind failure caused by calling c_ptr() of an empty StringBuffer<N>.Sergey Petrunya2013-10-151-1/+1
| | | | |
* | | | | Fix buildbot failures:Sergey Petrunya2013-10-152-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | - MYSQL_MULTI_DELETE_DONE probe compile failure - show_explain_non_select.test
* | | | | MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETESergey Petrunya2013-10-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When showing EXPLAIN output in the slow query log, format it so that one could use grep or other tool to get the output.
* | | | | MDEV-5117: Explain for a query executed as a PS is not written into the slow logSergey Petrunya2013-10-151-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | - Save the query plan after the statement was executed so that its gets into the slow query log.
* | | | | MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETESergey Petrunya2013-10-1571-685/+8264
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | - Merge with 10.0-base
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETE:Sergey Petrunya2013-10-153-2/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
| * | | | | Update test results for the last cset.Sergey Petrunya2013-10-151-0/+4
| | | | | |
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-153-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-152-48/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - eliminate join_save_qpf() function.
| * | | | | Code cleanup.Sergey Petrunya2013-10-151-23/+0
| | | | | |
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-1411-45/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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()).
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix EXPLAIN INSERT DELAYED ... : do call end_delayed_insert().
| * | | | | MDEV-5122: "Commands out of sync", "Malformed packet" or client hang up...Sergey Petrunya2013-10-113-4/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When INSERT catches an error, it should not attempt to send parts of EXPLAIN output.
| * | | | | Update tests: log_slow_verbosity now supports query_plan=explan.Sergey Petrunya2013-10-112-3/+41
| | | | | |
| * | | | | MDEV-5106: Server crashes in Explain_union::print_explain on ER_TOO_BIG_SELECTSergey Petrunya2013-10-105-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETE:Sergey Petrunya2013-10-094-0/+3918
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-092-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | - Produce correct `key_len` when type=index.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-096-14/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Produce correct #rows for ORDER BY ... LIMIT N queries that take advantage of ordered index read to read only N rows.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-095-20/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Generate correct contents of `Extra` column for UPDATEs/DELETEs that use quick selects - UPDATEs with used_key_is_modified=true will show "Using buffer"
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-085-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update test results after last few csets - Generate correct value for `possible_keys` column for single table UPDATE/DELETE.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-084-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - if EXPLAIN DELETE prints "Deleting all rows", it should show the expected number of rows in the rows column.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-0711-62/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add support for EXPLAIN INSERT.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-074-55/+81
| | | | | | | | | | | | | | | | | | | | | | | | - Better EXPLAIN-saving methods for quick selects
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-072-34/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Run probes like MYSQL_INSERT_SELECT_START or MYSQL_MULTI_DELETE_START for EXPLAIN, too. We should run them, because 1. EXPLAIN SELECT does it, and 2. MySQL also does it.
| * | | | | Better commentsSergey Petrunya2013-10-053-4/+7
| | | | | |
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-057-9/+73
| | | | | | | | | | | | | | | | | | | | | | | | - Handle the case when EXPLAIN UPDATE/DELETE has pruned away all partitions.
| * | | | | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-0510-167/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Address review feedback: more renames