maria:bb-11.4-mdev-32640

Last commit made on 2024-05-13
Get this branch:
git clone -b bb-11.4-mdev-32640 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-11.4-mdev-32640
Repository:
lp:maria

Recent commits

3a4d448... by Yuchen Pei <email address hidden>

MDEV-32627 Spider: use CONNECTION string in SQLDriverConnect

b86a2f0... by Yuchen Pei <email address hidden>

MDEV-32640 Reset thd->lex->mi.connection_name.str towards the end of mysql_execute_command

Reset the connection_name to contain a null string, if the pointer
points to the same space as that of the system variable
default_master_connection.

We do this because the system variable may be updated which could free
the pointer and create a new one, causing use-after-free for
re-execution of prepared statements and stored procedures where the
LEX may be reused.

This allows connection_name to be set again be to the system variable
pointer in the next call of this function (see earlier in this
function), after any possible updates to the system variable.

0e8e157... by Alexander Barkov

MDEV-34085 Server crash ASAN used-after-poison upon 2nd execution of PS with erroneous timestamp conversion

The optimization code replacing DATETIME comparison to TIMESTAMP comparison
in conditions like:
- WHERE timestamp_col=const_expr
- WHERE const_expr IN (SELECT timestamp_column FROM t1)
worked as follows:

- Install an internal condition handler (suppressing and counting warnings).
- Convert const_expr from its data type to TIMESTAMP
- Check the warning count collected by the internal condition handler:
  * If any warnings happened during the constant conversion,
    then continue with DATETIME comparison.
  * Otherwise, go to the next stage of switching to TIMESTAMP comparison.

This scenario did not take into account that in some cases warnings
are escalated to errors. Errors were not caught by the internal handler,
so Type_handler_datetime_common::convert_item_for_comparison()
returned with an SQL error in the diagnostics area.
The calling code did not expect this.

Fixing the code to suppress and count both errors and warnings, to make sure
Type_handler_datetime_common::convert_item_for_comparison() returns without
adding any errors to DA if the conversion to TIMESTAMP fails and it decides
to go with DATETIME comparison.

3fa2caf... by Andrei <email address hidden>

MDEV-31404 post-push for rpl.max_binlog_total_size

The test's header did not follow a correct `have_` and `master-slave`
sourcing pattern.

That's corrected.

e25edf2... by Dave Gosselin <email address hidden>

MDEV-33616 Tests failing on macOS

compat/oracle.sp-inout now uses lowercase object names for test
compatibility with both case-insensitive and case-sensitive
filesystems.

24dd78e... by Daniel Black

MDEV-33592: Use X509v3 for compatibility with libraries

According to rfc5280, x509v3 was standardised in June 1996.

RusTLS only accepts v3 certificates rejected the v1 default.
(ref:
https://github.com/rustls/webpki/issues/29#issuecomment-1453783741)

It seems reasonable that all client libraries can accept v3.

X509_VERSION_3 has a fixed value of 2, but isn't defined in
OpenSSL-1.1.1.

Thanks Austin Bonander for the suggested patch.

435a10e... by Andre Alves <email address hidden>

MDEV-33659 Fix crash in kdf() without parameters

9d806a0... by Yuchen Pei <email address hidden>

MDEV-33608 Skip spider/bugfix.quick_mode_N for valgrind builds

ASAN builds pass so it's ok

53a359c... by Sergei Golubchik

MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

let ALL PRIVILEGES to always mean ALL PRIVILEGES over all
upgrades, no matter what new privileges were added in later versions.

ec3d9da... by Sergei Golubchik

MDEV-33459 upgrades 11.X.2→11.(X+1).2

allow RPM upgrades from a different minor version,
if the major version is the same.