maria:bb-10.4-sachin

Last commit made on 2019-10-14
Get this branch:
git clone -b bb-10.4-sachin https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-sachin
Repository:
lp:maria

Recent commits

02362a7... by Sachin Setiya 23 hours ago

MDEV-19848 Server crashes in check_vcol_forward_refs upon INSERT DELAYED into table with long blob key

Problem:- Insert delayed is not working with Long Unique Index.
It is failing with
1. INSERT DELAYED INTO t1 VALUES();
2. INSERT DELAYED INTO t1 VALUES(1);
3. Potential Race condition When Insert DELAYED gets dup key error(After fix),
And it will change original table key_info by calling
re_setup_keyinfo_hash, And second thread is in check_duplicate_long_entries
4. Insert delayed into INVISIBLE COLUMN will also not work.

There are 4 main issue

1. while calling make_new_field we forgot to & LONG_UNIQUE_HASH_FIELD
flag into new field flags.

2. New field created created into get_local_table by make_new_field does
not respect old field visibility, Assigning old field visibility will
solve Problem 4 and part of problem 2.

3. As we know Problem 3 race condition is caused because table and
delayed table share same key_info, So we will make a copy of original table
key_info in get_local_table.

4. In parse_vcol_defs we have this code block
  keypart->field->vcol_info=
    table->field[keypart->field->field_index]->vcol_info;
  Which is wrong because we should not change original
table->field->vcol_info with vcol_info which is create on delayed
thread.

52f3829... by Sachin Setiya on 2019-10-09

MDEV-20001 Potential dangerous regression: INSERT INTO >=100 rows fail for myisam table with HASH indexes

Problem:-

So the issue is when we do bulk insert with rows
> MI_MIN_ROWS_TO_DISABLE_INDEXES(100) , We try to disable the indexes to
speedup insert. But current logic also disables the long unique indexes.

Solution:- In ha_myisam::start_bulk_insert if we find long hash index
(HA_KEY_ALG_LONG_HASH) we will not disable the index.

This commit also refactors the mi_disable_indexes_for_rebuild function,
Since this is function is called at only one place, it is inlined into
start_bulk_insert

mi_clear_key_active is added into myisamdef.h because now it is also used
in ha_myisam.cc file.

93d2211... by Sachin Setiya on 2019-10-08

MDEV-18791 Wrong error upon creating Aria table with long index on BLOB

If we have long unique key for aria engine return too long key error, because
Aria does not support key on virtual generated column.

6bc75a4... by Marko Mäkelä on 2019-10-08

MDEV-15528 preparation: Remove a constant parameter

fsp_free_seg_inode(): Remove the constant parameter log=true.
Only fsp_free_page() could also be called with log=false.

The dead code was introduced in
commit 304ae942f78f231a1f382624cdef9be80b3f5b84
by me, and spotted by Thirunarayanan Balathandayuthapani.

c339487... by Jan Lindström on 2019-10-07

Try to fix galera_parallel_simple test case.

37570e8... by Sergey Petrunia on 2019-10-04

MDEV-20740: Odd computations in calculate_cond_selectivity_for_table

Make SEL_ARG graph traversal code in sel_arg_range_seq_next() set
max_key_parts first.

(Pushing to 10.4 first)

a5c34bc... by Sergei Golubchik on 2019-10-04

if the test uses example plugin, it has to check whether plugin exists

b710d01... by Sergei Golubchik on 2019-09-25

mark PAMv2 plugin stable

fe4f766... by Jan Lindström on 2019-10-04

Add wait_condition to wait that node returns to ready state before
accessing it.

5709a77... by Marko Mäkelä on 2019-10-04

MDEV-19956: Do not dereference an uninitialized pointer

LEX::parsed_select_expr_cont(): Replace a condition with an
assertion DBUG_ASSERT(!s2->next_select()), and always
initialize sel1=s2, because all subsequent code paths will
assign to sel1->first_nested.

This was flagged by GCC reporting -Wmaybe-uninitialized
for the statement last->link_neighbour(sel1).