maria:bb-10.2-MDEV-17124

Last commit made on 2022-01-24
Get this branch:
git clone -b bb-10.2-MDEV-17124 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-MDEV-17124
Repository:
lp:maria

Recent commits

349283c... by Oleksandr "Sanja" Byelkin

MDEV-17124: mariadb 10.1.34, views and prepared statements: ERROR 1615 (HY000): Prepared statement needs to be re-prepared

The problem is that if table definition cache (TDC) is full of real tables
which are in tables cache, view definition can not stay there so will be
removed by its own underlying tables.
In situation above old mechanism of detection matching definition in PS
and current version always require reprepare and so prevent executing
the PS.

One work around is to increase TDC, other - improve version check for
views/triggers (which is done here). Now in suspicious cases we check:
 - timestamp (ms) of the view to be sure that version really have changed;
 - time (ms) of creation of a trigger related to time (ms) of statement
   preparation.

ecfa936... by Oleksandr "Sanja" Byelkin

Better declaration of the buffer size

628ce40... by Vladislav Vaintroub

MDEV-15694 Windows : use GetSystemTimePreciseAsFileTime if available for high resolution time

Use high accuracy timer on Windows 8.1+ for system versioning,it needs
accurate high resoution start query time.

Continue to use the inaccurate (but much faster timer function)
GetSystemTimeAsFileTime() where accuracy does not matter, e.g in
set_timespec_time_nsec(),or my_time()

fa7a67f... by Sergey Petrunia

MDEV-27149: Add rocksdb_ignore_datadic_errors

Add a --rocksdb_ignore_datadic_errors plugin option for MyRocks.

The default is 0, and this means MyRocks will call abort() if it detects
a DDL mismatch.

Setting rocksdb_ignore_datadic_errors=1 makes MyRocks to try to ignore the
errors and allow to start the server for repairs.

ad88c42... by Sergey Petrunia

Avoid a crash on MyRocks data inconsistency.

In ha_rocksdb::open(), check if the number of indexes seen from the
SQL layer matches the number of indexes in the internal MyRocks data
dictionary.

Produce an error if there is a mismatch. (If we don't produce this error,
we are likely to crash as soon as we attempt to use an index)

d3143ef... by Monty <email address hidden>

Improve --help and remove not-free warnings for mysql_tzinfo_to_sql

9d4c0a6... by Monty <email address hidden>

Fixed compiler error in auth_pam plugin

Code copied from 10.6

0fd4d6d... by Monty <email address hidden>

MDEV-27068 running mariadb-upgrade in parallel make it hangs forever

MDEV-27107 prevent two mariadb-upgrade running in parallel
MDEV-27279 mariadb_upgrade add --check-if-upgrade-is-needed /
           restrict tests to major version

Code is based of pull request from Daniel Black, but with a several
extensions.

- mysql_upgrade now locks the mysql_upgrade file with my_lock()
  (Advisory record locking). This ensures that two mysql_upgrades
   cannot be run in parallel.
- Added --check-if-upgrade-is-needed to mysql_upgrade. This will return
  0 if one has to run mysql_upgrade.

Other changes:
- mysql_upgrade will now immediately exit if the major version and minor
  version (two first numbers in the version string) is same as last run.
  Before this change mysql_upgrade was run if the version string was different
  from last run.
- Better messages when there is no need to run mysql_upgrade.
- mysql_upgrade --verbose now prints out a lot more information about
  the version checking.
- mysql_upgrade --debug now uses default debug arguments if there is no
  option to --debug
- "MySQL" is renamed to MariaDB in the messages
- mysql_upgrade version increased to 2.0

Notes
Verifying "prevent two mariadb-upgrade running in parallel" was
done in a debugger as it would be a bit complex to do that in mtr.

Reviewer: Danial Black <email address hidden>

d28d3ae... by Dmitry Shulga <email address hidden>

MDEV-24827: Follow-up patch to fix the test main.mysql_client_test_nonblock

474c6df... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-27417 InnoDB spatial index updates change buffer bitmap page

 - InnoDB change buffer doesn't support spatial index. Spatial
index should avoid change the buffer bitmap page when the page
split happens.