maria:bb-10.4-MDEV-6268

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

Branch merges

Branch information

Name:
bb-10.4-MDEV-6268
Repository:
lp:maria

Recent commits

23b7014... by Kentoku SHIBA on 2019-05-28

MDEV-6268 SPIDER table with no COMMENT clause causes queries to wait forever
Add mysql_mutex_timedlock() and add the following parameter to Spider
- spider_internal_lock_wait_timeout
  The timeout when Spider tries to get internal locks.
  0 or more : the tomeout. (second)
  The default value is -1

24773bf... by Marko Mäkelä on 2019-05-27

MDEV-19606: dict_v_col_t: Encapsulate v_indexes

Remove the separate allocation and pointer indirection of
dict_v_col_t::v_indexes.

0274ab1... by Marko Mäkelä on 2019-05-27

MDEV-19606: Replace most std::list with std::forward_list

C++11 defines the singly-linked std::forward_list. Prefer it to
the doubly-linked std::list in cases where we dot really need it.
Also, clean up some code.

dict_index_remove_from_v_col_list(): Remove.
Obsoleted by dict_index_t::detach_columns().

There is no std::forward_list::push_back(). Use push_front() instead.
The ordering does not really matter.

dict_v_col_t::n_v_indexes: Added. There is no std::forward_list::size(),
and trx_undo_log_v_idx() needs to know the size.

rtr_info_track_t::rtr_active: Encapsulate. There really was no justification
for the pointer indirection.

50e79f6... by Marko Mäkelä on 2019-05-27

MDEV-19606: Make recv_dblwr_t::list a forward_list

7d3a759... by Vladislav Vaintroub on 2019-05-27

MDEV-19604 WolfSSL breaks binlog_encryption.binlog_incident

Log_event_writer::encrypt_and_write() can pass NULL pointer as source buffer
for the encryption. WolfSSL EVP_CipherUpdate(), rightfully rejects this
as invalid parameter.

Fix Log_event_writer::encrypt_and_write() and check, with assertion,
that src parameterm is sane in MyCTX::update()

d80065c... by Jan Lindström on 2019-05-27

MDEV-18425: wsrep.mdev_10186: Test failure: "Result length mismatch" (@@GLOBAL.wsrep_provider)

Remove unnecessary select of provider name as it could be anything
and be located on different directories (i.e. it full name could
be different).

e32212c... by Marko Mäkelä on 2019-05-27

MDEV-19582 Out-of-bounds memory accesses by WolfSSL

Fix errors caught by clang-7 in the encrypted variants of the tests
innodb.innodb-table-online innodb.innodb-index-online

f465ec8... by Vladislav Vaintroub on 2019-05-25

Lets pretend that WolfSSL does not support AES-CTR

In Wolfcrypt, output length after CTR encryption is not the same
as input length. This is different from openssl and this makes unit test
aes-t fail.

So disable CTR for now.

88b7926... by Vladislav Vaintroub on 2019-05-25

MDEV-19582 WolfSSL decyption function can read memory out-of-bounds.
MDEV-19581 Valgrind error with WolfSSL and encrypted binlog

WolfSSL can read memory out of bounds in EVP_CipherUpdate()
in decrypt/NOPAD mode, when the input length is not multiple of AES block
size.

The workaround ensures that input will have some padding at the end
by having slightly larger allocated buffer, or padding the structures
with 16 more bytes.

5d2619b... by Marko Mäkelä on 2019-05-24

MDEV-19584 Allocate recv_sys statically

There is only one InnoDB crash recovery subsystem.
Allocating recv_sys statically removes one level of pointer indirection
and makes code more readable, and removes the awkward initialization of
recv_sys->dblwr.

recv_sys_t::create(): Replaces recv_sys_init().

recv_sys_t::debug_free(): Replaces recv_sys_debug_free().

recv_sys_t::close(): Replaces recv_sys_close().

recv_sys_t::add(): Replaces recv_add_to_hash_table().

recv_sys_t::empty(): Replaces recv_sys_empty_hash().