- 3767. By Oleksandr "Sanja" Byelkin on 2014-03-07
MDEV-5740: Assertion `!derived-
>first_ select( )->exclude_ from_table_ unique_ test || derived- >outer_ select( )-> exclude_ from_table_ unique_ test' failed on 2nd execution of PS with derived_merge
Do not check tables of executed units.
Debug info about stages of derived tables execution added.
- 3766. By Igor Babaev on 2014-03-06
Fixed bug mdev-5686.
The calls of the function remove_eq_conds() may change the and/or structure
of the where conditions. So JOIN::equal_cond should be updated for non-recursive
calls of remove_eq_conds().
- 3765. By Igor Babaev on 2014-02-21
After constant row substitution the optimizer should call the method
update_used_tables for the the where condition to update cached
indicators of constant subexpressions. It should be done before further
possible simplification of the where condition.
This change caused simplification of the executed where conditions
in many test cases.
- 3764. By Sergey Petrunia on 2014-02-19
Backport the following from 5.5 to 5.3:
MDEV-4556 Server crashes in SEL_ARG::rb_insert with index_merge+
index_merge_ sort_union, FORCE INDEX
index_scans( ) may put the same SEL_ARG tree in multiple result plans.
make it call incr_refs() on the SEL_ARG trees that it does key_or() on, because
sel_arg_ tree_1, sel_arg_tree_2) call may invalidate SEL_ARG trees pointed
by sel_arg_tree_1 and sel_arg_tree_2.
- 3763. By Sergey Petrunia on 2014-02-19
Fix compile failure:
In function ‘void* memset(void*, int, size_t)’,
inlined from ‘void Lifo_buffer:
:set_buffer_ space(uchar* , uchar*)’ at sql_lifo_ buffer. h:70:5,
inlined from ‘int DsMrr_impl:
:dsmrr_ init(handler* , RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*)’ at multi_range_ read.cc: 895:62:
i386-linux- gnu/bits/ string3. h:82:32: error: call to ‘__warn_ memset_ zero_len’ declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [-Werror]
It was intentional that the buffer is set to zero length there.
- 3762. By Sergey Petrunia on 2014-02-19
Add a debugger helper function that does this:
(gdb) p dbug_print_
$33 = "SUBQUERY2_
t1(col_ int_key, col_varchar_ nokey)= (7,c)"
- 3761. By Sergey Petrunia on 2014-02-19
MDEV-5600: Wrong result on 2nd execution of PS depending on the length of the query
view_ref didn't clear its pointer to item_equal in ::cleanup.
- Some Item_direct_
view_ref objects have statement lifetime (i.e. they
survive across multiple EXECUTE commands). Item_equal objects live only for
the duration of one EXECUTE. This caused Item_direct_
view_ref to have a stale pointer,
which could cause all sorts of effects. (In this bug's testcase it was pointing to
the wrong Item_equal, causing wrong query result)
- Fixed by doing what Item_field:
:cleanup( ) does - don't keep item_equal pointer value.
- There is no testcase because the only testcase I've got is highly fragile (e.g. the
bug will not show up if @@datadir is of the wrong length).
- 3760. By Alexey Botchkov on 2014-02-18
MDEV-5481 mysqldump fails to dump geometry types properly.
Fixed so the MYSQL_TYPE_GEOMETRY is treated as BLOB.
- 3759. By Alexey Botchkov on 2014-02-18
MDEV-5615 crash in Gcalc_function:
The result is EMPTY for a buffer(line, -1), but we still
need one FALSE operation to be stored in the condition.
And we actually add it but forgot to alloc memory to store it.
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)