maria:bb-10.3-MDEV-16930

Last commit made on 2018-08-16
Get this branch:
git clone -b bb-10.3-MDEV-16930 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.3-MDEV-16930
Repository:
lp:maria

Recent commits

adaafcf... by Oleksandr "Sanja" Byelkin

MDEV-16930: Crash when VALUES in derived table contains expressions

Give names to the value constructor columns as in SELECT-list.

8716bb3... by Marko Mäkelä

After-merge fix: Restore DECLARE_THREAD to fix Windows build

1eb2d8f... by Marko Mäkelä

Merge 10.2 into 10.3

05153a6... by Marko Mäkelä

Report all redo log corruption

Amend commit b853b4fd88b441f36eeb7eabdce79918ef10538a
that was reverted in commit 29150e23912ef6e1fe386f53b778c9a5551c4790.

recv_parse_log_recs(): Do check for corrupted redo log or file
system before checking for len==0, but only read *ptr if
it is not past the end of the buffer (end_ptr).

recv_parse_log_rec(): Report incorrect redo log type
in a consistent way with recv_parse_or_apply_log_rec_body().
This is a follow-up to commit f30c5af42e4e72a3a0d8d5fb7b9fc884a249f292.

a0ce321... by Marko Mäkelä

MDEV-16136 Various ASAN failures after MDEV-15030

The Pool poisoning that was introduced in MDEV-15030 introduced
race conditions in AddressSanitizer builds, because concurrent
poisoning and unpoisoning were not prevented by any synchronization
primitive.

Pool::get(): Protect the unpoisoning by m_lock_strategy.

Pool::mem_free(): Protect the poisoning by m_lock_strategy.

Pool::putl(): Renamed from put(), because now the caller is
responsible for invoking m_lock_strategy.

fa2a74e... by Marko Mäkelä

MDEV-16136: Prevent wrong reuse in trx_reference()

If trx_free() and trx_create_low() were called while a call to
trx_reference() was pending, we could get a reference to a wrong
transaction object.

trx_reference(): Return NULL if the trx->id no longer matches.

lock_trx_release_locks(): Assign trx->id = 0, so that trx_reference()
will not return a reference to this object.

trx_cleanup_at_db_startup(): Assign trx->id = 0.

assert_trx_is_free(): Assert !trx->n_ref. Assert trx->id == 0,
now that it will be cleared as part of a transaction commit.

6583506... by Marko Mäkelä

Rename lock_pool_t to lock_list

Also, replace reverse iteration with forward iteration.

lock_table_has(): Remove a redundant condition.

3ce8a0f... by Marko Mäkelä

MDEV-16136: Simplify trx_lock_t memory management

Allocate trx->lock.rec_pool and trx->lock.table_pool directly from trx_t.
Remove unnecessary use of std::vector.

In order to do this, move some definitions from lock0priv.h to
lock0types.h, so that ib_lock_t will not be an opaque type.

197aa0d... by Daniel Bartholomew <email address hidden>

bump the VERSION

b795134... by Vladislav Vaintroub

MDEV-16859 MyRocks: support SSE42 CRC32-C instruction.