maria:bb-10.11-mdev-31524

Last commit made on 2023-07-13
Get this branch:
git clone -b bb-10.11-mdev-31524 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.11-mdev-31524
Repository:
lp:maria

Recent commits

124eb66... by Yuchen Pei <email address hidden>

MDEV-31524 Fixing spider table param / variable overriding

The existing (incorrect) overriding mechanism is:

Non-minus-one var value overrides table param overrides default value.

Before MDEV-27169, unspecified var value is -1. So if the user sets
both the var to be a value other than -1 and the table param, the var
value will prevail, which is incorrect.

After MDEV-27169, unspecified var value is default value. So if the
user does not set the var but sets the table param, the default value
will prevail, which is even more incorrect.

This patch fixes it so that table param, if specified, always
overrides var value, and the latter if not specified or set to -1,
falls back to the default value

We achieve this by replacing all such overriding in spd_param.cc with
macros that override in the correct way, and removing all the
"overriding -1" lines involving table params in
spider_set_connect_info_default() except for those table params not
defined as sysvar/thdvar in spd_params.cc

We also introduced macros for non-overriding sysvar and thdvar, so
that the code is cleaner and less error-prone

In server versions where MDEV-27169 has not been applied, we also
backport the patch, that is, replacing -1 default values with real
default values

In server versions where MDEV-28006 has not been applied, we do the
same for udf params

3430767... by Marko Mäkelä

Merge 10.10 into 10.11

c2d5523... by Marko Mäkelä

Merge 10.9 into 10.10

35de832... by Marko Mäkelä

MDEV-31311: The test innodb.log_file_size_online occasionally hangs

log_t::write_checkpoint(), log_t::resize_start(): Invoke buf_flush_ahead()
with buf_pool.get_oldest_modification(0)+1 so that another checkpoint will
be invoked, to complete the log resizing.

Tested by: Oleg Smirnov (on Microsoft Windows, where this hung most often)

26fc07b... by Marko Mäkelä

Merge 10.6 into 10.9

f7b8a2c... by Marko Mäkelä

MDEV-31607 ER_DUP_KEY in mysql.innodb_table_stats upon RENAME on sequence

ha_innobase::delete_table(): Also on DROP SEQUENCE, do try to drop any
persistent statistics. They should really not be created for
SEQUENCE objects (which internally are 1-row no-rollback tables),
but that is how happened to always work.

dc1bd18... by Marko Mäkelä

MDEV-31386 InnoDB: Failing assertion: page_type == i_s_page_type[page_type].type_value

i_s_innodb_buffer_page_get_info(): Correct a condition.
After crash recovery, there may be some buffer pool pages in FREED state,
containing garbage (invalid data page contents). Let us ignore such pages
in the INFORMATION_SCHEMA output.

The test innodb.innodb_defragment_fill_factor will be removed, because
the queries that it is invoking on information_schema.innodb_buffer_page
would start to fail. The defragmentation feature was removed in
commit 7ca89af6f8faf1f8ec6ede01a9353ac499d37711 in MariaDB Server 11.1.

Tested by: Matthias Leich

3d90143... by Marko Mäkelä

MDEV-31559 btr_search_hash_table_validate() does not check if CHECK TABLE is killed

btr_search_hash_table_validate(), btr_search_validate(): Add the
parameter THD for checking if the statement has been killed.
Any non-QUICK CHECK TABLE will validate the entire adaptive hash index
for all InnoDB tables, which may be extremely slow when running
multiple concurrent CHECK TABLE.

d04de1a... by Marko Mäkelä

Merge 10.6 into 10.9

6d91121... by Oleg Smirnov

MDEV-30639 Upgrade to 10.8 and later does not work on Windows

During the upgrade procedure on Windows mysqld.exe is started with
the named pipe connection protocol. mysqladmin.exe then pings the
server to check if is up and running. Command line looks like:
   mysqladmin.exe --protocol=pipe --socket=mysql_upgrade_service_xxx ping
But the "socket" parameter resets the "protocol" which was previously
initialized with the "pipe" value, setting it to "socket".
As a result, connection cannot be established and the upgrade
procedure fails.
"socket" in Windows is used to pass the name of the pipe so resetting
the protocol is not valid in this case.

This commit fixes resetting of the "protocol" parameter with "socket"
parameter in the case when protocol has been previously initialized
to "pipe" value