- 21 Jul, 2015 1 commit
-
-
Jan Lindström authored
Analysis: There is race between drop table and encryption threads that could cause encryption thread to enter mutex that has been already released. Fix: When destroying crypt_data first enter the mutex and set crypt data unavailable, then release the memory and clean up the data. This should make the race more unprobable. Additionally, added big_test for create_or_replace as it could fail testcase timeout if you have slow I/O (tested that testcase passes with --mem).
-
- 20 Jul, 2015 1 commit
-
-
Nirbhay Choubey authored
In non-wsrep builds, wsrep_running_threads should be defined to (0).
-
- 19 Jul, 2015 4 commits
-
-
Elena Stepanova authored
The version in sysvars_innodb,32bit,xtradb.rdiff was not updated
-
Kristian Nielsen authored
-
Kristian Nielsen authored
-
Kristian Nielsen authored
--gtid-ignore-duplicates was comparing sequence numbers as 32-bit, so after 2**32 transactions things would start to fail.
-
- 17 Jul, 2015 1 commit
-
-
Elena Stepanova authored
The test did not wait until the server shuts down
-
- 16 Jul, 2015 2 commits
-
-
Monty authored
Problem was that for queries of type: select rand() r, rand() p, rand() = rand() from a having r = p The optimizer thought that r = p was same as rand() = rand() and this would always be true. The problem was that when testing if two expressions are equal, we didn't take into account no determinstic functions. The fix is to not compare non deterministic functions as equal.
-
Monty authored
Other things: - Avoid calling init_and_set_log_file_name() when opening binary log. - Remove newlines early when reading from index file. - Ensure that reset_logs() will work even if thd is 0 (Can happen on startup) - Added thd to sart_slave_threads() for better error handling.
-
- 15 Jul, 2015 1 commit
-
-
Nirbhay Choubey authored
-
- 14 Jul, 2015 6 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Alexander Barkov authored
-
- 13 Jul, 2015 1 commit
-
-
Alexander Barkov authored
-
- 10 Jul, 2015 2 commits
-
-
Monty authored
Cleanups, fixed warnings from valgrind, fixed failing tests (because on changes in WSREP initialization)
-
Monty authored
This should not have caused any notable errors in most cases. After fix, we are not using keys to solve MIN/MAX if the string used for comparision is longer thant the column-
-
- 09 Jul, 2015 2 commits
-
-
Monty authored
Conflicts: sql/item_subselect.cc Fixed also typo in comment
-
Monty authored
- Cache variables.lc_messages->errmsgs->errmsgs in variables.errmsgs This gives us 15 byte less code space and 2 memory references for any access to language dependent message, of which there are 500 in the server..
-
- 08 Jul, 2015 2 commits
-
-
Alexander Barkov authored
In some cases NO_ZERO_DATE did not allow datetime values with zero date part and non-zero time part (e.g. '0000-00-00 10:20:30.123456'). Allowing values of this kind in all known pieces of the code.
-
Nirbhay Choubey authored
Additional changes : * On startup, do not initialize wsrep if wsrep_on=0. * On shutdown, stop wsrep replication only if > 0 wsrep threads are running.
-
- 07 Jul, 2015 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 06 Jul, 2015 5 commits
-
-
Monty authored
- Renaming variables so that they don't shadow others (After this patch one can compile with -Wshadow and get much fewer warnings) - Changed ER(ER_...) to ER_THD(thd, ER_...) when thd was known or if there was many calls to current_thd in the same function. - Changed ER(ER_..) to ER_THD_OR_DEFAULT(current_thd, ER...) in some places where current_thd is not necessary defined. - Removing calls to current_thd when we have access to thd Part of this is optimization (not calling current_thd when not needed), but part is bug fixing for error condition when current_thd is not defined (For example on startup and end of mysqld) Notable renames done as otherwise a lot of functions would have to be changed: - In JOIN structure renamed: examined_rows -> join_examined_rows record_count -> join_record_count - In Field, renamed new_field() to make_new_field() Other things: - Added DBUG_ASSERT(thd == tmp_thd) in Item_singlerow_subselect() just to be safe. - Removed old 'tab' prefix in JOIN_TAB::save_explain_data() and use members directly - Added 'thd' as argument to a few functions to avoid calling current_thd.
-
Nirbhay Choubey authored
-
Alexander Barkov authored
Fixing non-BMP characters to have the same weight, as it was before MDEV-8418 and MDEV-8417.
-
Alexander Barkov authored
MDEV-8418 utf16: compare broken bytes as "greater than any non-broken character"
-
Alexander Barkov authored
-
- 05 Jul, 2015 2 commits
-
-
Monty authored
-
Monty authored
Fixed several optimizer issues relatied to GROUP BY: a) Refering to a SELECT column in HAVING sometimes calculated it twice, which caused problems with non determinstic functions b) Removing duplicate fields and constants from GROUP BY was done too late for "using index for group by" optimization to work c) EXPLAIN SELECT ... GROUP BY did wrongly show 'Using filesort' in some cases involving "Using index for group-by" a) was fixed by: - Changed last argument to Item::split_sum_func2() from bool to int to allow more flags - Added flag argument to Item::split_sum_func() to allow on to specify if the item was in the SELECT part - Mark all split_sum_func() calls from SELECT with SPLIT_SUM_SELECT - Changed split_sum_func2() to do nothing if called with an argument that is not a sum function and doesn't include sum functions, if we are not an argument to SELECT. This ensures that in a case like select a*sum(b) as f1 from t1 where a=1 group by c having f1 <= 10; That 'a' in the SELECT part is stored as a reference in the temporary table togeher with sum(b) while the 'a' in having isn't (not needed as 'a' is already a reference to a column in the result) b) was fixed by: - Added an extra remove_const() pass for GROUP BY arguments before make_join_statistics() in case of one table SELECT. This allowes get_best_group_min_max() to optimize things better. c) was fixed by: - Added test for group by optimization in JOIN::exec_inner for select->quick->get_type() == QUICK_SELECT_I::QS_TYPE_GROUP_MIN_MAX item.cc: - Simplifed Item::split_sum_func2() - Split test to make them faster and easier to read - Changed last argument to Item::split_sum_func2() from bool to int to allow more flags - Added flag argument to Item::split_sum_func() to allow on to specify if the item was in the SELECT part - Changed split_sum_func2() to do nothing if called with an argument that is not a sum function and doesn't include sum functions, if we are not an argument to SELECT. opt_range.cc: - Simplified get_best_group_min_max() by calcuating first how many group_by elements. - Use join->group instead of join->group_list to test if group by, as join->group_list may be NULL if everything was optimized away. sql_select.cc: - Added an extra remove_const() pass for GROUP BY arguments before make_join_statistics() in case of one table SELECT. - Use group instead of group_list to test if group by, as group_list may be NULL if everything was optimized away. - Moved printing of "Error in remove_const" to remove_const() instead of having it in caller. - Simplified some if tests by re-ordering code. - update_depend_map_for_order() and remove_const() fixed to handle the case where make_join_statistics() has not yet been called (join->join_tab is 0 in this case)
-
- 03 Jul, 2015 5 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 02 Jul, 2015 3 commits
-
-
Sergei Petrunia authored
-
Jan Lindström authored
function used incorrect type.
-
Sergei Petrunia authored
-