maria:10.3

Last commit made on 2022-09-30
Get this branch:
git clone -b 10.3 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.3
Repository:
lp:maria

Recent commits

f65ba9a... 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 (microseconds) of the view to be sure that version really
   have changed;
 - time (microseconds) of creation of a trigger related to time
   (microseconds) of statement preparation.

98e62e6... by Oleksandr "Sanja" Byelkin

Better declaration of the buffer size

1f51d6c... by Anel Husakovic <email address hidden>

MDEV-28548: ER_TABLEACCESS_DENIED_ERROR is missing information about DB

- Added missing information about database of corresponding table for various types of commands
- Update some typos

- Reviewed by: <email address hidden>

f9605eb... by Sergei Golubchik

fix sporadic failures on main.kill

KILL QUERY ID 0 was sometimes finding con3 that was still in the process
of disconnecting and had query_id==0 (as it didn't run any queries)

28ae361... by Igor Babaev

MDEV-29361 Infinite recursive calls when detecting CTE dependencies

This patch resolves the problem of improper name resolution of table
references to embedded CTEs for some queries. This improper binding could
lead to
  - infinite sequence of calls of recursive functions
  - crashes due to resolution of null pointers
  - wrong result sets returned by queries
  - bogus error messages

If the definition of a CTE contains with clauses then such CTE is called
embedding CTE while CTEs from the with clauses are called embedded CTEs.
If a table reference used in the definition of an embedded CTE cannot be
resolved within the unit that contains this reference it still may be
resolved against a CTE definition from the with clause with one of the
embedding CTEs.
A table reference can be resolved against a CTE definition if it used in
the the scope of this definition and it refers to the name of the CTE.
Table reference t is in the scope of the CTE definition of CTE cte if
- the definition of cte is an element of a with clause declared as
  RECURSIVE and the reference t belongs either to the unit to which
  this with clause is attached or to one of the elements of this clause
- the definition of cte is an element of a with clause without RECURSIVE
  specifier and the reference t belongs either to the unit to which this
  with clause is attached or to one of the elements from this clause that
  are placed before the definition of cte.
If a table reference can be resolved against several CTE definitions then
it is bound to the most embedded.

The code before this patch not always resolved table references used in
embedded CTE according to the above rules.

Approved by Oleksandr Byelkin <email address hidden>

9de9f10... by Mikhail Chalov <email address hidden>

Use memory safe snprintf() in Connect Engine and elsewhere (#2210)

Continue with similar changes as done in 19af1890 to replace sprintf(buf, ...)
with snprintf(buf, sizeof(buf), ...), specifically in the "easy" cases where buf
is allocated with a size known at compile time.

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.

b2cfcf1... by Alexey Botchkov

MDEV-21134 Crash with partitioned table, PARTITION syntax, and index_merge.

When the partition table is cloned, the handlers for the partitions that were not opened
should anyway be created (but not opened).

47e9678... by Oleksandr "Sanja" Byelkin

MDEV-29022 add_slave destroy child list and has dead code

Nowdays subquery in a UNION's ORDER BY placed correctly in fake select,
the only problem was incorrect Name_resolution_contect is fixed by this
patch in parsing, so we do not need scanning/reseting of ORDER BY of
a union.

2b89598... by Nayuta Yanagisawa

MDEV-26852 Spider: -Werror=maybe-uninitialized raises on spd_sys_table.cc and ha_spider.cc

The warning "maybe-uninitialized" raises on spd_sys_table.cc and
ha_spider.cc when the sever is compiled with CMAKE_CXX_FLAGS=-Og.

fa4e84b... by Sergei Golubchik

cleanup: main.mysqldump test

show error messages from mysqldump/mysqlimport