- 14 Jan, 2011 5 commits
-
-
Sergei Golubchik authored
This makes the keys smaller (no row pointer) and gives us proper errors if we use the table wrongly. sql/sql_select.cc: Use NO_RECORD for tables that doesn't need row data. storage/maria/Makefile.am: Added ma_norec.c storage/maria/ma_check.c: Added support for NO_RECORD record format (don't store any row data) storage/maria/ma_norec.c: Added support for NO_RECORD record format storage/maria/ma_open.c: Added support for NO_RECORD record format storage/maria/ma_search.c: Added support for 0 size row pointers (used with NO_RECORD) storage/maria/ma_test1.c: Added testing of NO_RECORD record format. storage/maria/maria_chk.c: Added support for NO_RECORD storage/maria/maria_def.h: Added support for NO_RECORD storage/maria/unittest/ma_test_all-t: Added testing of NO_RECORD record format
-
Sergei Golubchik authored
temptables, not "uniques", that are hash-based keys. sql/sql_expression_cache.cc: Don't set uniques (we don't want or need an unique constraint on this table)
-
Sergei Golubchik authored
This was needed as the old code caused us to have LOTS of duplicate hash values when used by optimizer. include/m_ctype.h: Made my_hash_sort_bin() exernal storage/maria/ma_unique.c: Better hash for packed numeric data for unique handling. This was needed as the old code caused us to have LOTS of duplicate hash values when used by optimizer.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
mysys/my_handler.c: Fixed typo
-
- 17 Jan, 2011 2 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
- 16 Jan, 2011 1 commit
-
-
Igor Babaev authored
-
- 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 8 commits
-
-
Sergey Petrunya authored
- Backport testcases - We have a different fix because we've fixed part of the problem as part of fix for LPBUG#602574.
-
Sergey Petrunya authored
Backport testcase: BUG#45863 "Assertion failed: (fixed == 0), function fix_fields(), file item.cc, line 4448" (The fix was backported with subquery code backport)
-
Sergey Petrunya authored
3150 Olav Sandstaa 2010-05-07 Test cases for the following "ICP for InnoDB" bugs: Bug#40992 InnoDB: Crash when engine_condition_pushdown is on Bug#35080 Innodb crash at mem_block_get_len line 72 Bug#41996 multi-table delete crashes server (InnoDB table) Bug#43448 Server crashes on multi table delete with Innodb All these bugs are duplicates of either one or both of Bug 43360 or 36981. (backporting of olav@sun.com-20100226091930-qxvakxmcp6463t5w)
-
Sergey Petrunya authored
Test case backport for: Bug#42580 - Innodb's ORDER BY ..LIMIT returns no rows for null-safe operator <=> NULL
-
Sergey Petrunya authored
-
Sergey Petrunya authored
(the bug itself was fixed during the subquery code backport)
-
Sergey Petrunya authored
-
Sergey Petrunya authored
3723 oystein.grovlen@sun.com 2009-11-23 Bug#46548 (addendum) Remove KEY::extra_length. It is not in use.
-
- 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
-