maria:bb-10.4-mdev-29447

Last commit made on 2023-01-03
Get this branch:
git clone -b bb-10.4-mdev-29447 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-mdev-29447
Repository:
lp:maria

Recent commits

22f674d... by Yuchen Pei

MDEV-29447 MDEV-26285 Refactor spider_db_mbase_util::open_item_func

Porting commit 3836098c29ef1b7ff9d5fbde99b690eab73a0df1 (MDEV-26285)
to current versions 10.3+ to fix a problem (MDEV-29447) where field
items that are arguments of a func item may be used before created /
initialised.

Signed-off-by: Yuchen Pei <email address hidden>

fb41117... by Yuchen Pei

MDEV-29653 Make sure Item_cache_row has the correct type handler.

The incorrect type handler caused an incorrect result_type() for
Item_cache_row (STRING_RESULT rather than ROW_RESULT). By updating the
constructor of Item_cache_row with the correct type handler, it fixes
this problem.

Signed-off-by: Yuchen Pei <email address hidden>
Reviewed-by: Sergei Golubchik <email address hidden>

c21566a... by musvaage <email address hidden>

header typos

f97f695... by Marko Mäkelä

Merge 10.3 into 10.4

697dbd1... by Daniel Black

MDEV-21187: log_slow_filter="" logs queries not using indexes

Consistent with MDEV-4206 and empty log_slow_filter still means
no explict filtering. Since 21518ab2e453 however the
log_queries_not_using_indexes became stored in the same variable.

As we need to test for the absense of log_queries_not_using_indexes
the SERVER_QUERY_NO_INDEX USED part of log_slow_statement, the empty
criteria resulted in an always true to log queries not using indexes if
log_slow_filter was set to empty.

Adjusted the log_slow.test for MDEV-4206 as slow_log_query has been
global and session for a while and it was relying on the MDEV-21187
buggy behavior to detect a slow query.

Reviewer: Monty

acfaa04... by Daniel Black

MDEV-18591: mysql_install_db - pass --log-error to mysqld in install (#2363)

Previously we parsed it out in mysql_install_db for use in the error
message, but failed to pass it to mysqld in the bootstrap.

Also match log_error as it might appear in the .cnf files.

Thanks Michal Schorm for the test case.

Reviewed by: Faustin Lammler

87eccd7... by Sergey Petrunia

MDEV-30218: Incorrect optimization for rowid_filtering

(Patch from Monty, slightly amended)

Fix rowid filtering optimization in best_access_path():

== Ref access + rowid filtering ==
The cost computations compare #records and index-only scan cost
(keyread_tmp) to find out the per-record advantage one will get if
they skip reading full table record.

The computations produce wrong result when:

- the #records are "clipped down" with s->worst_seeks or
  thd->variables.max_seeks_for_key. keyread_tmp is not clipped
  this way so the numbers are not comparable.

- access_factor is negative. This means index_only read is
  cheaper than non-index-only read.

This patch makes the optimizer not to consider Rowid Filtering in
such cases.
The decision is logged in the Optimizer Trace using
"rowid_filter_skipped" name.

== Range access + rowid filtering ==
when considering to use Rowid Filter with range access, do multiply
keyread_tmp by record_count. That way, it is comparable with the
range access's estimate, which is multiplied by record_count.

fdf43b5... by Marko Mäkelä

Merge 10.3 into 10.4

382e85f... by Daniel Black

MDEV-30065: mariadb-install-db allow for --enforce-storage-engine=InnoDB

Hide the errors related to missing innodb stats tables in bootstrap mode
on the assumption that because we are in bootstrap mode they are going
to be created.

c1cc6e8... by Daniel Black

Correct DBUG_ENTER for Pushdown_derived::execute