- 15 Jan, 2011 4 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
Made sure that the optimal fields are used by TABLE_REF objects when building index access keys to joined tables. Fixed a bug in the template function that sorts the elements of a list using the bubble sort algorithm. The bug caused poor performance of the function. Also added an optimization that skips comparison with the most heavy elements that has been already properly placed in the list. Made the comparison of the fields belonging to the same Item_equal more granular: fields belonging to the same table are also ordered according to some rules.
-
Igor Babaev authored
-
Igor Babaev authored
An assertion failure was triggered for a 6-way join query that used two join buffers. The failure happened because every call of JOIN_CACHE::join_matching_records saved and restored status of all tables that were accessed before the table join_tab. It must do it only for those of them that follow the last table using a join buffer.
-
- 14 Jan, 2011 1 commit
-
-
Sergey Petrunya authored
-
- 13 Jan, 2011 4 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
Bug #45092: join buffer contains two blob columns one of which is used in the key employed to access the joined table
-
Sergey Petrunya authored
Date: Mon, 01 Nov 2010 15:15:25 -0000 3272 Roy Lyseng 2010-11-01 Bug#52068: Optimizer generates invalid semijoin materialization plan When MaterializeScan semijoin strategy was used and there were one or more outer dependent tables before the semijoin tables, the scan over the materialized table was not properly reset for each row of the prefix outer tables. Example: suppose we have a join order: ot1 SJ-Mat-Scan(it2 it3) ot4 Notice that this is called a MaterializeScan, even though there is an outer table ahead of the materialized tables. Usually a MaterializeScan has the outer tables after the materialized table, but this is a special (but legal) case with outer dependent tables both before and after the materialized table. For each qualifying row from ot1, a new scan over the materialized table must be set up. The code failed to do that, so all scans after the first one returned zero rows from the materialized table.
-
- 12 Jan, 2011 1 commit
-
-
Sergey Petrunya authored
- Cause: handler::in_range_check_pushed_down was not reset when a command would call handler->idx_cond_push() without later calling handler->index_end(). - Fix: reset the variable in handler->reset(), too (like we do with other Index Condition Pushdown members).
-
- 05 Jan, 2011 1 commit
-
-
Igor Babaev authored
When stored in a key buffer any varchar field has a length prefix that always takes 2 bytes.
-
- 30 Dec, 2010 1 commit
-
-
Igor Babaev authored
Added a test case for bug #695442 - a duplicate of bug 694092.
-
- 29 Dec, 2010 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
The bug was the result of a bad merge maria-5.2-wl21 -> 5.3.
-
- 28 Dec, 2010 3 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
-
- 27 Dec, 2010 3 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
One of the hash functions employed by the BNLH join algorithm calculates the the value of hash index for key value utilizing every byte of the key buffer. To make this calculation valid one has to ensure that for any key value unused bytes of the buffer are filled with with a certain filler. We choose 0 as a filler for these bytes. Added an optional boolean parameter with_zerofill to the function key_copy. If the value of the parameter is TRUE all unused bytes of the key buffer is filled with 0.
-
- 26 Dec, 2010 1 commit
-
-
Igor Babaev authored
-
- 25 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
- Backport the testcase (the fix itself was included with the subquery optimizations backport)
-
Igor Babaev authored
-
- 24 Dec, 2010 2 commits
-
-
Igor Babaev authored
In some cases the function make_cond_for_index() was mistaken when detecting index only pushdown conditions for a table: a pushdown condition that was not index only could be marked as such. It happened because the procedure erroneously used the markers for index only conditions that remained from the calls of this function that extracted the index conditions for other tables. Fixed by erasing index only markers as soon as they are need anymore.
-
Igor Babaev authored
-
- 23 Dec, 2010 1 commit
-
-
Igor Babaev authored
-
- 22 Dec, 2010 1 commit
-
-
Igor Babaev authored
Lifted the limitation that hash join could not be used over varchar fields with non-binary collation.
-
- 21 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Merge with 5.3-main
-
- 20 Dec, 2010 2 commits
-
-
Sergei Golubchik authored
set thd->password appropriately also for cases when a user was not found.
-
Sergey Petrunya authored
- Fixes for the second fix: take into account case where we don't need to save/restore the scan.
-
- 19 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
Switch from "Disable identical key handling optimization when IndexConditionPushdown is used" approach To an approach where we save/restore index tuple and so can use index condition pushdown.
-
Igor Babaev authored
mwl#21.
-
- 17 Dec, 2010 3 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
unknown authored
It was missing from EXTRA_DIST in Makefile.am.
-
- 16 Dec, 2010 3 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Address Monty's review feedback, portion 3
-
Sergey Petrunya authored
- Address Monty's review feedback, portion 2
-
- 15 Dec, 2010 1 commit
-
-
Sergey Petrunya authored
- Better warnings
-