- 11 Oct, 2013 1 commit
-
-
Igor Babaev authored
-
- 10 Oct, 2013 1 commit
-
-
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().
-
- 04 Oct, 2013 1 commit
-
-
Igor Babaev authored
For aggregated fields from views/derived tables the possible adjustment of thd->lex->in_sum_func->max_arg_level in the function Item_field::fix_fields must be done before we leave the function.
-
- 03 Oct, 2013 1 commit
-
-
Igor Babaev authored
Apparently in a general case a short-cut for the distinct optimization is invalid if join buffers are used to join tables after the tables whose values are to selected.
-
- 25 Sep, 2013 1 commit
-
-
unknown authored
Other fix of maybe_null problem and revert of revno: 3608 "MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery from a MERGE view."
-
- 16 Sep, 2013 5 commits
-
-
Alexander Barkov authored
mtr can crash occasionally. This happens when mtr sends to a child mtr process (or vice-versa) a packet, that gets truncated or, perhaps, split in two. Then the other side cannot deserialize it and fails as above.
-
Alexander Barkov authored
Adding tests only. The problem was earlier fixed by MDEV-4724 Some temporal functions do not preserve microseconds
-
Alexander Barkov authored
Adding test cases from the bug report only. The problem was earlier fixed by: MDEV-4863 COALESCE(time_or_datetime) returns wrong results in numeric context modified: mysql-test/r/func_time.result mysql-test/t/func_time.test
-
Alexander Barkov authored
Adding a test case only. The problem was fixed by: MDEV-4724 Some temporal functions do not preserve microseconds modified: mysql-test/r/func_time.result mysql-test/t/func_time.test
-
Alexander Barkov authored
-
- 15 Sep, 2013 1 commit
-
-
Igor Babaev authored
The patch for mdev-4355 had a defect: the cached values for bitmaps of used tables were not updated when processing degenerate OR formulas.
-
- 13 Sep, 2013 1 commit
-
-
Alexander Barkov authored
-
- 12 Sep, 2013 2 commits
-
-
unknown authored
Removed unneeded set of TABLE_LIST::skip_temporary flag.
-
Sergey Petrunya authored
- Provide a special execution path for cleanup of degenerate non-merged semi-join children of degenerate selects.
-
- 09 Sep, 2013 1 commit
-
-
Alexander Barkov authored
-
- 06 Sep, 2013 1 commit
-
-
Igor Babaev authored
The fix for bug mdev-4971 not always correctly set the pointers to inherited multiple equalities in objects of the Item_equal class.
-
- 30 Aug, 2013 1 commit
-
-
Igor Babaev authored
The function propagate_new_equalities() did not updated properly the references to inherited multiple equalities.
-
- 29 Aug, 2013 1 commit
-
-
Igor Babaev authored
When a non-nullable datetime field is used under an IS NULL predicate of the WHERE condition in a query with outer joins the remove_eq_conds function should check whether this field belongs to an inner table of any outer join that can be, in a general case, a nested outer join.
-
- 26 Aug, 2013 2 commits
-
-
Igor Babaev authored
When in function remove_eq_conds() a sub-formula of the processed condition is replaced for another formula we should ensure that in the resulting formula AND/OR levels must alternate.
-
Igor Babaev authored
The patch to fix mdev-4418 turned out to be incorrect. At the substitution of single row tables in make_join_statistics() the used multiple equalities may change and references to the new multiple equalities must be updated. The function remove_eq_conds() takes care of it and it should be called right after the substitution of single row tables. Calling it after the call of make_join_statistics was a mistake.
-
- 24 Aug, 2013 1 commit
-
-
Igor Babaev authored
Made sure that degenerate conjunctions/disjunctions are obtained from AND/OR conditions.
-
- 22 Aug, 2013 1 commit
-
-
Alexander Barkov authored
-
- 21 Aug, 2013 1 commit
-
-
unknown authored
MDEV-4908: Assertion `((Item_cond *) cond)->functype() == ((Item_cond *) new_item)->functype()' fails on a query with IN and equal conditions, AND/OR, materialization+semijoin A new AND Item should be prepared (fix_field() call) before using.
-
- 20 Aug, 2013 2 commits
-
-
Igor Babaev authored
had been merged into 5.5. Corrected the result of the output from the test case for mdev 4895.
-
unknown authored
Fix bug MDEV-4895 Valgrind warnings (Conditional jump or move depends on uninitialised value) in Field_datetime::get_date on GREATEST(..) IS NULL Analysis: The cause of the valgrind warning was an attempt to evaluate a Field that was not yet read. The reason was that on one hand Item_func_isnotnull was marked as constant by Item_func_isnotnull::update_used_tables, and this allowed eval_const_cond() to be called. On the other hand Item_func_isnotnull::val_int() evaluated its argument as if it was not constant. Solution: The fix make sure that Item_func_isnotnull::val_int() doesn't evaluate its argument when it is constant and cannot be NULL, because the result is known in this case.
-
- 19 Aug, 2013 1 commit
-
-
Igor Babaev authored
had been discovered when merging the patch from 5.3 into 5.5.
-
- 17 Aug, 2013 1 commit
-
-
Igor Babaev authored
After single row substitutions there might appear new equalities. They should be properly propagated to all AND/OR levels the WHERE condition. It's done now with an additional call of remove_eq_conds().
-
- 15 Aug, 2013 4 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
This patch almost totally revised the patch for bug mdev-4177. The latter had too many defects. In particular, it did not propagate multiple equalities formed when merging a degenerate disjunct into underlying AND formula.
-
Igor Babaev authored
-
Igor Babaev authored
-
- 13 Aug, 2013 1 commit
-
-
Igor Babaev authored
This a an old legacy performance bug. When a very selective range scan existed for the second table in a join, and, at the same time, there was another range condition depending on the fields of the first table, the optimizer chose a plan with 'Range checked for each record'. This plan was extremely inefficient in comparison with the regular selective range scan. As a matter of fact the range scan chosen for each record was the same as that selective range scan. Changed the test case for bug 24776 to preserve the old output for explain.
-
- 12 Aug, 2013 1 commit
-
-
Alexander Barkov authored
-
- 01 Aug, 2013 1 commit
-
-
unknown authored
MDEV-4812 Valgrind warnings (Invalid write) in dynamic_column_update_many on COLUMN_ADD Fixed problem of working on wrong data (do not allow offset to out of string length).
-
- 08 Aug, 2013 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
Fixing a typo: bit AND (&) was erroneously used instead of logical AND (&&)
-
- 01 Aug, 2013 1 commit
-
-
unknown authored
MDEV-4823: Server crashes in Item_func_not::fix_fields on creating a table with a virtual column using NOT fix_field() call protocol was brocken (zero pointer passed as link to item which is possible only if you are sure that there can not be Items which transforms).
-
- 21 Jul, 2013 1 commit
-
-
Alexey Botchkov authored
not_enough_points() introduced to check if the spatial object is incorrect.
-
- 15 Jul, 2013 1 commit
-
-
Sergei Golubchik authored
-
- 09 Jul, 2013 1 commit
-
-
Vladislav Vaintroub authored
MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there is a key cache resize running in parallel with an update. If there is a key cache resize,a thread writing to key cache, will pause waiting until resize finishes. However this thread is won't be woken, because resize does not signaling waiters anymore. This is a regression introduced in WL#86(segmented MyISAM key cache) The fix is to unconditionally release threads waiting on resize_queue when resize finishes, as in pre-WL#86 code.
-