maria:bb-10.2-mdev26047-v2

Last commit made on 2022-04-26
Get this branch:
git clone -b bb-10.2-mdev26047-v2 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-mdev26047-v2
Repository:
lp:maria

Recent commits

2d18943... by Sergey Petrunia

Merge branch '10.2' of github.com:MariaDB/server into 10.2

9b2d366... by Rucha Deodhar <email address hidden>

MDEV-20207: Assertion ! is_set() failed in Diagnostics_area::set_eof_status
upon HANDLER READ

Analysis: The error state is not stored while checking condition and key
name.
Fix: Return true while checking condition and key name if error is reported
because geometry object can't be created from the data in the index value
for HANDLER READ.

25ccf8f... by Oleksandr "Sanja" Byelkin

New CC version

3988dff... by Sergei Golubchik

MDEV-6899 extra semicolon in show create event syntax

to detect the end of SP definition correctly we need to know where
the parser stopped parsing the SP. lip->get_cpp_ptr() shows the
current parsing position, lip->get_cpp_tok_start() shows the start of
the last parsed token. The actual value depends on whether
the parser has performed a look-ahead. For example, in

  CREATE PROCEDURE ... BEGIN ... END ;

the parser reads 'END' and knows that this ends the procedure definition,
it does not need to read the next token for this. But in

  CREATE PROCEDURE ... SELECT 1 ;

the parser cannot know that the procedure ends at '1'. It has to read
the semicolon first (it could be '1 + 2' for example).

In the first case, the "current parsing position" is after END, before
the semicolon, in the second case it's *after* the semicolon. Note that
SP definition in both cases ends before the semicolon.

To be able to detect the end of SP deterministically, we need the parser
to do the look-ahead always or never.

The bug fix introduces a new parser token FORCE_LOOKAHEAD. Lexer never
returns it, so this token can never match. But the parser cannot know
it so it will have to perform a look-ahead to determine that the next
token is not FORCE_LOOKAHEAD. This way we deterministically end
SP parsing with a look-ahead.

7753eae... by Sergei Golubchik

MDEV-28393 Server crashes in TABLE::mark_default_fields_for_write

test only

1a94d2f... by Sergei Golubchik

cleanup: main.create_select test

9b7886b... by Sergei Golubchik

MDEV-28403 ASAN heap-use-after-free in String::copy / get_field_default_value

This reverts commit 5ba77222e9fe7af8ff403816b5338b18b342053c
but keeps the test. A different fix for

MDEV-21028 Server crashes in Query_arena::set_query_arena upon SELECT from view

internal temporary tables should use THD as expr_area

c5e68b6... by Igor Babaev

MDEV-27212 Crash in Item_equal::sort on second execution of stored procedure

This bug could cause a crash of the server at the second call of a stored
procedure when it executed a query containing a mergeable derived table /
view whose specification used another mergeable derived_table or view and a
subquery with outer reference in the select list of the specification.
Such queries could cause the same problem when they were executed for the
second time in a prepared mode.
The problem appeared due to a typo mistake in the legacy code of the function
create_view_field() that prevented building Item_direct_view_ref wrapper
for the mentioned outer reference at the second execution of the query and
setting the depended_from field for the outer reference.

Approved by Oleksandr Byelkin <email address hidden>

1bcdc3e... by Andrei <email address hidden>

MDEV-27697 slave must recognize incomplete replication event group

In cases of a faulty master or an incorrect binlog event producer, that slave is working with,
sends an incomplete group of events slave must react with an error to not to log
into the relay-log any new events that do not belong to the incomplete group.

Fixed with extending received event properties check when slave connects to master
in gtid mode.
Specifically for the event that can be a part of a group its relay-logging is
permitted only when its position within the group is validated.
Otherwise slave IO thread stops with ER_SLAVE_RELAY_LOG_WRITE_FAILURE.

907e4c6... by Alexander Barkov

MDEV-21037 mariabackup does not detect multi-source replication slave