maria:bb-10.5-mdev-34002

Last commit made on 2024-04-26
Get this branch:
git clone -b bb-10.5-mdev-34002 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-mdev-34002
Repository:
lp:maria

Recent commits

997bdb9... by Yuchen Pei <email address hidden>

MDEV-34002 Initialise fields in spider_db_handler

Otherwise it may result in nonsensical values like 190 for a boolean.

55cb2c2... by Meng-Hsiu Chiang <email address hidden>

MDEV-29955: Set path for zlib library with pkg-config

`FindZLIB` module uses variable `ZLIB_ROOT`[1] to look for libraries. By
setting the variable, `FindZLIB` is able to search the libraries that
installed in a non-system path (/workspace/mylib for example).

And when using `z` in `LINK_LIBRARIES()` CMake tries to lookup the
library in system path by default. It doesn't work if the library isn't
installed in the path, and use ${ZLIB_LIBRARY} which set by FindZLIB
solve the issue.

All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer Amazon Web
Services.

[1]: https://cmake.org/cmake/help/latest/module/FindZLIB.html#hints

e731811... by Sergei Golubchik

MDEV-16944 fix galera tests

followup for 061adae9a26e

e02077a... by Alexander Barkov

MDEV-21076 NOT NULL and UNIQUE constraints cause SUM() to yield an incorrect result

This problem was earlier fixed by the patch for MDEV 33344.
Adding a test case only.

24abbb9... by Alexander Barkov

MDEV-21034 GREATEST() and LEAST() malfunction for NULL

There is a convention that Item::val_int() and Item::val_real() return
SQL NULL doing effectively what this code does:
  null_value= true;
  return 0; // Always return 0 for SQL NULL

This is done to optimize boolean value evaluation:
if Item::val_int() or Item::val_real() returned 1 -
that always means TRUE and never can means SQL NULL.
This convention helps to avoid unnecessary testing
Item::null_value after getting a non-zero return value.

Item_func_min_max did not follow this convention.
It could return a non-zero value together with null_value==true.
This made evaluate_join_record() erroneously misinterpret
SQL NULL as TRUE in this call:

  select_cond_result= MY_TEST(select_cond->val_int());

Fixing Item_func_min_max to follow the convention.

361b790... by Markus Staab <email address hidden>

Remove unnecessary whitespace in mysqldump

57f6a1c... by Kristian Nielsen

MDEV-19415: use-after-free on charsets_dir from slave connect

The slave IO thread sets MYSQL_SET_CHARSET_DIR. The code for this option
however is not thread-safe in sql-common/client.c. The value set is
temporarily written to mysys global variable `charsets-dir` and can be seen
by other threads running in parallel, which can result in use-after-free
error.

Problem was visible as random failures of test cases in suite multi_source
with Valgrind or MSAN.

Work-around by not setting this option for slave connect, it is redundant
anyway as it is just setting the default value.

Signed-off-by: Kristian Nielsen <email address hidden>

0c249ad... by Kristian Nielsen

MDEV-30232: rpl.rpl_gtid_crash fails sporadically in BB

The root cause of the failure is a bug in the Linux network stack:

  https://<email address hidden>/T/#u

If the slave does a connect(2) at the exact same time that kill -9 of the
master process closes the listening socket, the FIN or RST packet is lost in
the kernel, and the slave ends up timing out waiting for the initial
communication from the server. This timeout defaults to
--slave-net-timeout=120, which causes include/master_gtid_wait.inc to time
out first and fail the test.

Work-around this problem by reducing the --slave-net-timeout for this test
case. If this problem turns up in other tests, we can consider reducing the
default value for all tests.

Signed-off-by: Kristian Nielsen <email address hidden>

4a2e034... by Sergei Golubchik

MDEV-33952 galera_create_table_as_select fails sporadically

disable until fixed

7432a48... by Zhibo Zhang <email address hidden>

Update tests to be compatible with OpenSSL 3.2.0

As of version 3.2.0, OpenSSL updated the error message in new versions
("https://github.com/openssl/openssl/commit/81b741f68984"). Update the
tests and result files such that they are compatible with both original
and new error messages.

All new code of the whole pull request, including one or several files that are
either new files or modified ones, are contributed under the BSD-new
license. I am contributing on behalf of my employer Amazon Web Services,
Inc.