- 07 Nov, 2011 1 commit
-
-
Sergey Petrunya authored
- Do not push index condition if we're using a triggered ref access.
-
- 06 Nov, 2011 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
The bug happened because in some cases the function JOIN::exec did not save the value of TABLE::pre_idx_push_select_cond in TABLE::select->pre_idx_push_select_cond for the sort table. Noticed and fixed a bug in the function make_cond_remainder that builds the remainder condition after extraction of an index pushdown condition from the where condition. The code erroneously assumed that the function make_cond_for_table left the value of ICP_COND_USES_INDEX_ONLY in sub-condition markers. Adjusted many result files from the regression test suite after this fix .
-
- 04 Nov, 2011 3 commits
-
-
Igor Babaev authored
The call of the virtual function cancel_pushed_idx_cond in the code of the function test_if_skip_sort_order was misplaced when backporting the fix for bug 58816.
-
Michael Widenius authored
Better error message if --log-bin is used without --log-bin-index mysql-test/lib/v1/mysql-test-run.pl: Fixed that test doesn't abort if 'var' points to a deleted directory (common case when using --mem) sql/mysqld.cc: Better error message if --log-bin is used without --log-bin-index
-
Michael Widenius authored
storage/myisam/mi_dbug.c: Added mutex to protect open table list while traversing it
-
- 03 Nov, 2011 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 02 Nov, 2011 10 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Remove the assert in replace_where_subcondition (the patch has explanation why)
-
Sergey Petrunya authored
- More test result updates (the errors are the same, the difference is that "at row X" became "at row Y" due to queries with semi-joins producing select results in different order)
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- More test result updates
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- semijoin=on - firstmatch=on - loosescan=on
-
Igor Babaev authored
-
unknown authored
-
- 01 Nov, 2011 5 commits
-
-
unknown authored
Analysis: Equality propagation propagated the constant '7' into args[0] of the Item_in_optimizer that stands for the "< ANY" predicate. At the same the min/max subquery rewrite swapped the order of the left and right operands of the "<" predicate, but used Item_in_subselect::left_expr. As a result, when the <ANY predicate is executed early in the execution phase as a contant condition, instead of a constant right (swapped) argument of the < predicate, there was a field (t3.a). This field had no data, since the whole predicate is considered constant, and it is evaluated before any tables are read. Having junk in the field row buffer produced wrong result Solution: Fix create_swap to pick the correct Item_in_optimizer left argument.
-
unknown authored
The problem was that merged views has its own nest_level numbering => when we compare nest levels we should take into considiration basis (i.e. 0 level), if it is different then nest levels are not comparable.
-
Igor Babaev authored
Fixed a bug in select_describe. Adjusted results for affected test cases.
-
unknown authored
-
Sergey Petrunya authored
- Make table elimination to actually switch itself on/off in release builds.
-
- 31 Oct, 2011 3 commits
-
-
Sergey Petrunya authored
- The bug was caused by the following scenario: = a quick select is created with get_quick_select_for_ref. The quick select refers to temporary (derived) table. It saves table->file, which refers to a ha_heap object. = When temp table is populated, ha_heap reaches max. size and is converted to a ha_myisam. However, quick->file remains pointing to where ha_heap was. = Attempt to use the quick select causes crash. - Fixed by introducing QUICK_SELECT_I::replace_handler(). Note that it will not work for index_merge quick selects. Which is fine, because these quick selects are never created for derived tables.
-
Igor Babaev authored
-
Igor Babaev authored
(Failed to reproduce the bug in mariadb-5.3).
-
- 30 Oct, 2011 4 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
The bug was fixed by the patches for LP bugs 668644,702322 that were applied earlier to the mariadb-5.3 code.
-
Igor Babaev authored
The bug was fixed by the patch for LP bug 694092 that was applied earlier to the mariadb-5.3 code.
-
Igor Babaev authored
-
- 29 Oct, 2011 1 commit
-
-
Igor Babaev authored
-
- 28 Oct, 2011 4 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Sergey Petrunya authored
- Fix the compile-time-default value of optimizer_switch printed by mysqld --help --defaults
-
Sergey Petrunya authored
-
- 27 Oct, 2011 4 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
The function Item_direct_view_ref::fix_fields erroneously did not correct the value of the flag maybe_null when the view for which the item was being fixed happened to be an inner table of an outer join.
-
Sergey Petrunya authored
- The problem was that the value of READ_RECORD::file was not updated when the underlying table was temporary and was converted from heap to myisam. Resolved by eliminating READ_RECORD::file, always use READ_RECORD::table->file
-
- 26 Oct, 2011 1 commit
-
-
Michael Widenius authored
Honor unique/not unique when creating keys for internal tempory tables. Added new variables to be used to limit how keys are created for internal temporary tables. include/maria.h: Added maria_max_key_length() and maria_max_key_segments() include/myisam.h: Added myisam_max_key_length() and myisam_max_key_segments() mysql-test/r/mysql.result: Drop all used tables mysql-test/r/subselect4.result: Added test case for lp:879939 mysql-test/t/mysql.test: Drop all used tables mysql-test/t/subselect4.test: Added test case for lp:879939 sql/mysql_priv.h: Added internal_tmp_table_max_key_length and internal_tmp_table_max_key_segments to be used to limit how keys for derived tables are created. sql/mysqld.cc: Added internal_tmp_table_max_key_length and internal_tmp_table_max_key_segments to be used to limit how keys for derived tables are created. sql/share/errmsg.txt: Added new error message for internal errors sql/sql_select.cc: Give error if we try to create a wrong key (this error should never happen) Honor unique/not unique when creating keys for internal tempory tables. storage/maria/ha_maria.cc: Added change_table_ptr() to ensure that external_ref points always to the correct table. (Not having this caused an assert in the included test) storage/maria/ha_maria.h: Added change_table_ptr() to ensure that external_ref points always to the correct table. storage/maria/ma_check.c: Fixed bug in Duplicate key error printing (now row position is printed correctly) storage/maria/ma_create.c: maria_max_key_length() -> _ma_max_key_length() storage/maria/ma_info.c: Added extern function maria_max_key_length() to calculate the max key length based on current block size. storage/maria/ma_open.c: maria_max_key_length() -> _ma_max_key_length() storage/maria/maria_def.h: maria_max_key_length() -> _ma_max_key_length() storage/myisam/ha_myisam.cc: Added change_table_ptr() to ensure that external_ref points always to the correct table. (Not having this caused an assert in the included test) storage/myisam/ha_myisam.h: Added change_table_ptr() to ensure that external_ref points always to the correct table.
-