- 16 May, 2012 4 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- It turns out, there is a case where the join is degenerate, but join->table_count!= && join->tables_list!=NULL. Need to also check if join->zero_result_cause!=NULL, too. - There is a slight problem: The code sets zero_result_cause= "no matching row in const table" when NOT running EXPLAIN. The result is that SHOW EXPLAIN will show this line while regular EXPLAIN will not.
-
- 15 May, 2012 1 commit
-
-
Sergey Petrunya authored
select tables optimized away - Take into account, that for some degenerate joins instead of "join->table_count=0" the code sets "join->tables_list=0".
-
- 14 May, 2012 1 commit
-
-
Sergey Petrunya authored
- Make SHOW EXPLAIN code handle degenerate subquery cases (No tables, impossible where, etc)
-
- 11 May, 2012 1 commit
-
-
Sergey Petrunya authored
- Fix the bug: SHOW EXPLAIN may hit a case where a join is partially optimized. - Change JOIN::optimized to use enum instead of numeric constants
-
- 10 May, 2012 3 commits
-
-
Sergey Petrunya authored
- Make all functions that produce parts of EXPLAIN output take explain_flags as parameter, instead of looking into thd->lex->describe
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Support SHOW EXPLAIN for selects that have "Using temporary; Using filesort".
-
- 09 May, 2012 1 commit
-
-
Sergey Petrunya authored
Make SHOW EXPLAIN work for queries that do "Using temporary" and/or "Using filesort" - Patch#1: Don't lose "Using temporary/filesort" in the SHOW EXPLAIN output.
-
- 08 May, 2012 1 commit
-
-
unknown authored
The code to re-enable checkpointing after UNLOCK TABLES was lost in the 5.5 merge, so re-add it back in.
-
- 07 May, 2012 2 commits
-
-
unknown authored
-
Vladislav Vaintroub authored
-
- 05 May, 2012 4 commits
-
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
5.5 version. for cmake, not autotools.
-
Vladislav Vaintroub authored
-
- 04 May, 2012 5 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
mtr should do it as well, to avoid differences in test output. This fixes sys_vars.secure_file_priv on FreeBSD9.0 buildbot.
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
-
- 03 May, 2012 3 commits
-
-
Vladislav Vaintroub authored
is gone.
-
Michael Widenius authored
-
Vladislav Vaintroub authored
The problem was increment of aborted_threads variable due to thd->killed which was set when threadpool connection was terminated . The fix is not to set thd->killed anymore, there is no real reason for doing it.. Added a test that checks that status variable aborted_clients does not grow for ordinary disconnects, and that successful KILL increments this variable.
-
- 02 May, 2012 1 commit
-
-
Sergei Golubchik authored
-
- 03 May, 2012 1 commit
-
-
Alexey Botchkov authored
-
- 02 May, 2012 8 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Oleksandr Byelkin authored
MDEV-214 lp:967242 Wrong result with JOIN, AND in ON condition, multi-part key, GROUP BY, subquery and OR in WHERE The problem was in the code (update_const_equal_items()) which marked index parts constant independently of the place where the equality was used. In the test suite it marked t2_1.c part constant despite the fact that it connected by OR with other expression. Solution is to mark constant only top equalities connected with AND.
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
Fix is to set maybe_null flag for Item_func_last_day.
-
Sergei Golubchik authored
unnecessary date->string->date conversion
-
Sergei Golubchik authored
Create an Item_cache based on item's cmp_type, not result_type in subselect_engine. Use result_field in Item_cache_temporal::cache_value(), just like all other Item_cache*::cache_value() do.
-
Vladislav Vaintroub authored
-
- 29 Apr, 2012 1 commit
-
-
Alexey Botchkov authored
Points and lines should disappear if we got negative D. To make it work properly inside the GEOMETRYCOLLECTION, we add the empty operation there. bug #986977 Assertion `!cur_p->event' failed in Gcalc_scan_iterator::arrange_event(int, int). The double->inernal coord conversion produced -0 (minus zero) on some data. That minus-zero produces invalid comparison results when compared agains plus-zero. So we fixed the gcalc_set_double() to avoid it. per-file comments: mysql-test/r/gis-precise.result result updated. mysql-test/t/gis-precise.test tests for #977021 and #986977 added. sql/gcalc_slicescan.cc bug #986977. The gcalc_set_double fixed to not produce minus-zero. sql/item_geofunc.cc bug #977021. Add the NOOP for the disappearing features.
-
- 26 Apr, 2012 1 commit
-
-
Sergei Golubchik authored
MDEV-216 lp:976104 - Assertion `0' failed in my_message_sql on UPDATE IGNORE, or unknown error on release build Don't send_error at the end of mysql_multi_update() if select failed. The error, if there was any, was already sent by mysql_select
-
- 27 Apr, 2012 1 commit
-
-
unknown authored
Analysis: The reason for the wrong result is the interaction between constant optimization (in this case 1-row table) and subquery optimization. - First the outer query is optimized, and 'make_join_statistics' finds that table t2 has one row, reads that row, and marks the whole table as constant. This also means that all fields of t2 are constant. - Next, we optimize the subquery in the end of the outer 'make_join_statistics'. The field 'f2' is considered constant, with value '3'. The subquery predicate is rewritten as the constant TRUE. - The outer query execution detects early that the whole query result is empty and calls 'return_zero_rows'. Since the query is with implicit grouping, we have to produce one row with special values for the aggregates (depending on each aggregate function), and NULL values for all non-aggregate fields. This function calls 'no_rows_in_result' to set each aggregate function to the default value when it aggregates over an empty result, and then calls 'send_data', which in turn evaluates each Item in the SELECT list. - When evaluation reaches the subquery predicate, it executes the subquery with field 'f2' having a constant value '3', and the subquery produces the incorrect result '7'. Solution: Implement Item::no_rows_in_result for all subquery predicates. In order to make this work, it is also needed to make all val_* methods of all subquery predicates respect the Item_subselect::forced_const flag. Otherwise subqueries are executed anyways, and override the default value set by no_rows_in_result with whatever result is produced from the subquery evaluation.
-
- 26 Apr, 2012 1 commit
-
-
Sergey Petrunya authored
that the EXPLAIN is for.
-