maria:bb-10.2-MDEV-25994

Last commit made on 2022-04-17
Get this branch:
git clone -b bb-10.2-MDEV-25994 https://git.launchpad.net/maria

Branch merges

Branch information

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

Recent commits

41907ae... by Oleg Smirnov

MDEV-25994 Crash with union of my_decimal type in ORDER BY clause

During execution of Type_handler_decimal_result::make_sort_key_part()
the call to item->val_decimal_result() may fail and return NULL pointer.
Such case was not analyzed which led to the crash.
This commit adds necessary checks to the case described above and also
adds an indicator of successful execution for make_sort_key() functions
(return value = FALSE for success and TRUE failure)

e4e25d2... by Oleksandr "Sanja" Byelkin

MDEV-26423 MariaDB server crash in Create_tmp_table::finalize

Removed prohibition of creating temporary field of Item_default_value
(added by mistake by 1d9b043a1f5db7ff229d5200652cff7a78ea6266 fix of
MDEV-10780 and MDEV-11265).

c274853... by Sergei Golubchik

MDEV-25638 Assertion `!result' failed in convert_const_to_int

When fixing vcols, fix_fields might call convert_const_to_int().
And that will try to read the field value (from record[0]).
Mark the table as having no data to prevent that, because record[0]
is not initialized yet.

4681b6f... by Sergei Golubchik

MDEV-26281 ASAN use-after-poison when complex conversion is involved in blob

the bug was that in_vector array in Item_func_in was allocated in the
statement arena, not in the table->expr_arena.

revert part of the 5acd391e8b2d. Instead, change the arena correctly
in fix_all_session_vcol_exprs().

Remove TABLE_ARENA, that was introduced in 5acd391e8b2d to force
item tree changes to be rolled back (because they were allocated in the
wrong arena and didn't persist. now they do)

cc08c43... by Sergei Golubchik

cleanup: remove Item_default_value::cached_field

b5e16a6... by Sergei Golubchik

MDEV-26061 MariaDB server crash at Field::set_default

* Item_default_value::fix_fields creates a copy of its argument's field.
* Field::default_value is changed when its expression is prepared in
  unpack_vcol_info_from_frm()

This means we must unpack any vcol expression that includes DEFAULT(x)
strictly after unpacking x->default_value.

To avoid building and solving this dependency graph on every table open,
we update Item_default_value::field->default_value after all vcols
are unpacked and fixed.

c05fd70... by Alexander Barkov

MDEV-26323 use-after-poison issue of MariaDB server

66832e3... by Daniel Black

mtr: extend gdb backtace info

bt full - to include args and locals.

set print sevenbit on
  - it is more useful to be able to see the exact bytes
    (in case something is dumped as a string and not hexadecimal digits)
set print static-members off
  - there are many interesting (non-const) static members
set frame-arguments all
  - even non-printables are useful to see.

Let's make our bb logs give a little bit more detail on those
hard to reproduce bugs.

Tests on rhel7's gdb-7.6.1-120.el7

767d8d8... by Shunpoco <email address hidden>

MDEV-27448 MTR returns success (zero) upon invalid option

I change from `exit;` to `exit(1);` on a function `usage()`.
When we try to run mtr with a wrong option, a function `usage()` is called with the wrong option as its argument. In this case, because the function call `exit` in a first if statement, we get exit status 0.

833f448... by Alexander Barkov

MDEV-27690 Crash on `CHARACTER SET csname COLLATE DEFAULT` in column definition

This is a temporary fix for 10.2.
This problem was permanently fixed in 10.9 under terms of MDEV-27743.

This patch should propagate up to 10.8 then null-merged to 10.9.