Almost trivial rw_lock_t::lock_word transition. Since C++11 doesn't
seem to allow mixed (atomic and non-atomic) access to atomic variables,
we have to perform atomic initialisation.
Also made previously broken code in gis0sea.cc even more broken. It is
unclear how it was supposed to work and what exactly it was supposed to
do.
Trivial buf_tmp_buffer_t::reserved transition.
Relaxed memory order looks suspicious when used by methods that have
acquire()/release() names. Especially if intention is to transfer some
variable or memory region from one thread to another. Or is memory
ordering guaranteed by something else, e.g. some mutex that protects
broader range of acquire/release functionality?
Almost trivial TTASEventMutex::m_lock_word transition. Since C++11 doesn't
seem to allow mixed (atomic and non-atomic) access to atomic variables,
we have to perform all accesses atomically.
Almost trivial TTASMutex::m_lock_word transition. Since C++11 doesn't
seem to allow mixed (atomic and non-atomic) access to atomic variables,
we have to perform all accesses atomically.
rw_trx_hash_element_t::no transition to Atomic_counter. Since C++11
doesn't seem to allow mixed (atomic and non-atomic) access to atomic
variables, we have to perform atomic initialisation.
Almost trivial trx_sys_t::m_rw_trx_hash_version transition. Since C++11
doesn't seem to allow mixed (atomic and non-atomic) access to atomic
variables, we have to perform atomic initialisation.
trx_sys_t::m_max_trx_id transition to Atomic_counter. Since C++11 doesn't
seem to allow mixed (atomic and non-atomic) access to atomic variables,
we have to perform atomic initialisation.
Now that InnoDB startup drops tables whose name starts with #sql,
the table ID alone should be enough to create a unique table name.
dict_temp_file_num, dict_mem_init(): Remove.
dict_mem_create_temporary_tablename(): Use a combination of
"#sql-ib" and the ID of the table that is being rebuilt
in TRUNCATE TABLE, or discarded in the commit of table-rebuilding
ALTER TABLE...ALGORITHM=INPLACE, or deferred to the DROP queue.
Thanks to Sergey Vojtovich for pointing this out.
The fix for MDEV-17901 did not cover cases where the AUTO_INCREMENT
column was not dropped, but some other columns before it were.
commit_cache_norebuild(): Revert the MDEV-17901 fix.
dict_index_t::clear_instant_alter(): Update table->persistent_autoinc.
innobase_instant_try(): Only try to update the hidden metadata
record if the number of columns is changing (increasing) or
a metadata BLOB is being added due to permuting or dropping columns
for the first time.
dict_table_t::instant_column(), ha_innobase_inplace_ctx::instant_column():
Return whether the metadata record needs to be updated.
Ubuntu 14.04 Trusty is LTS until April 2019 and since we are
approaching that, upgrade to Xenial which is LTS until April 2021.
One bonus of this upgrade is that the Travis Xenial virtual images
have a much bigger disk size, thus no need to limit ccache below
the default of 5G anymore.
Also had to remove linux/clang-8 toolchain testing since
llvm-toolchain-xenial is not listed at:
https://github.com/travis-ci/apt-source-safelist/blob/master/ubuntu.json
And fails with:
Disallowing sources: llvm-toolchain-xenial
...
E: Unable to locate package clang-8
E: Unable to locate package llvm-8-dev
Packaging is broken for debian-based systems after removing
xtrabackup scripts. This is due to the fact that links to the
scripts are not removed from the installation file
(from the debian/mariadb-server-10.3.install).
Also in this fix some comments have been added to the
documentation, indicating that using xtrabackup[-v2] is
an deprecated, therefore user should use mariabackup instead.
https://jira.mariadb.org/browse/MDEV-18064
This assertion should have been relaxed when implementing the first part of
MDEV-15563: instant removal of NOT NULL attribute for ROW_FORMAT=REDUNDANT
tables.
For ROW_FORMAT=REDUNDANT, there is no bitmap of null columns;
the null flags are encoded in the end offset of each field.
We do not really care about the number of fields that can be NULL.
Add check for git command and test for internet connectivity
using bash /dev/tcp interface, instead of wget and curl which might
not be available, thus reducing dependencies for this script.
Also fixes:
MDEV-17741 Assertion `thd->Item_change_list::is_empty()' failed in mysql_parse after unsuccessful PS
The problem was introduced by:
commit f033fbd9f2
Changed the test case for MDEV-15571
It was later fixed, but in 10.3 only:
commit ce2cf855bf
MDEV-16043 Assertion thd->Item_change_list::is_empty() failed in mysql_parse
upon SELECT from a view reading from a versioned table
This patch is a backport of ce2cf855bf to 10.2
Ensure that the 'auxiliary transactions' that are there for
flushing the incomplete undo log of the to-be-recovered DDL
transactions are actually making modifications.