maria:bb-10.5-svoj-MDEV-19439

Last commit made on 2019-05-10
Get this branch:
git clone -b bb-10.5-svoj-MDEV-19439 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-svoj-MDEV-19439
Repository:
lp:maria

Recent commits

8f7b5a0... by Sergey Vojtovich

MDEV-19439 - Revert orig_thd hack

This patch is to be squashed with previous one when MDEV-19439 is fixed.
Causes assertion failurs currently.

9d431a0... by Sergey Vojtovich

MDEV-19439 - Allow THD member (or base) class constructor/destructor to allocate/free memory

Fixed by moving memory accounting to THD_count constructor/destructor, so
that memory accounting is configured before member/base constructors
have been called and deinitialised after member/base destructors have been
finished.

f81007f... by Marko Mäkelä

Fix the Windows build

d3dcec5... by Marko Mäkelä

Merge 10.3 into 10.4

b132b88... by Marko Mäkelä

Merge 10.3 into 10.4

27980b0... by Sachin Setiya

MDEV-19365 Assertion failure in LONG Unique after 10.3 merge

If handler->inited is RND use cloned handler for long unique duplicate search.

e8dd18a... by Sergey Vojtovich

Restore vars_list destructor

Regression after reverting fair THD members constructors/destructors.
vars_list can be used standalone, in such cases destructor is needed.

Part of MDEV-14984 - regression in connect performance

b6f4ccc... by Marko Mäkelä

Merge 10.2 into 10.3

ce19598... by Marko Mäkelä

MDEV-19385: Inconsistent definition of dtuple_get_nth_v_field()

The accessor dtuple_get_nth_v_field() was defined differently between
debug and release builds in MySQL 5.7.8 in
mysql/mysql-server@c47e1751b742454de553937039bbf2bcbe3c6bc7
and a debug assertion to document or enforce the questionable assumption
tuple->v_fields == &tuple->fields[tuple->n_fields] was missing.

This was apparently no problem until MDEV-11369 introduced instant
ADD COLUMN to MariaDB Server 10.3. With that work present, in one
test case, trx_undo_report_insert_virtual() could in release builds
fetch the wrong value for a virtual column.

We replace many of the dtuple_t accessors with const-preserving
inline functions, and fix missing or misleadingly applied const
qualifiers accordingly.

3db94d2... by Marko Mäkelä

MDEV-19346: Remove dummy InnoDB log checkpoints

log_checkpoint(), log_make_checkpoint_at(): Remove the parameter
write_always. It seems that the primary purpose of this parameter
was to ensure in the function recv_reset_logs() that both checkpoint
header pages will be overwritten, when the function is called from
the never-enabled function recv_recovery_from_archive_start().

create_log_files(): Merge recv_reset_logs() to its only caller.

Debug instrumentation: Prefer to flush the redo log, instead of
triggering a redo log checkpoint.

page_header_set_field(): Disable a debug assertion that will
always fail due to MDEV-19344, now that we no longer initiate
a redo log checkpoint before an injected crash.

In recv_reset_logs() there used to be two calls to
log_make_checkpoint_at(). The apparent purpose of this was
to ensure that both InnoDB redo log checkpoint header pages
will be initialized or overwritten.
The second call was removed (without any explanation) in MySQL 5.6.3:
mysql/mysql-server@4ca37968da54ddc6b3b6628f41428ddba1c79bb8

In MySQL 5.6.8 WL#6494, starting with
mysql/mysql-server@00a0ba8ad92569fcf08212b3b8cf046dc8a0ce10
the function recv_reset_logs() was not only invoked during
InnoDB data file initialization, but also during a regular
startup when the redo log is being resized.

mysql/mysql-server@45e91679832219e2593c77185342f11f85232b58
in MySQL 5.7.2 removed the UNIV_LOG_ARCHIVE code, but still
did not remove the parameter write_always.