maria:bb-10.4-MDEV-26294-instant-alter-charset

Last commit made on 2022-02-02
Get this branch:
git clone -b bb-10.4-MDEV-26294-instant-alter-charset https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-MDEV-26294-instant-alter-charset
Repository:
lp:maria

Recent commits

ab2414a... by Eugene Kosov

tmp

12cad0c... by Daniele Sciascia <email address hidden>

MDEV-27615 Assertion `server_id.is_undefined() == false' failed

Add test case that reproduces the issue and update wsrep-lib submodule
to include the fix.

Reviewed-by: Jan Lindström <email address hidden>

3d69213... by Alexander Barkov

MDEV-26953 Assertion `!str || str != Ptr || !is_alloced()' failed in String::copy upon SELECT with sjis

Item::save_str_in_field() passes &Item::str_value as a parameter
to val_str().

Item_func::make_empty_result() also fills and returns str_value.

As a result, in the reported scenario in
Item_func::val_str_from_val_str_ascii()
both "str" and "res" pointed to Item::str_value,
which made the DBUG_ASSERT inside String::copy()
(preventing copying to itself) crash:

  if ((null_value= str->copy(res->ptr(), res->length(),
                             &my_charset_latin1, collation.collation,
                             &errors)))

Fix:
- Adding a String* parameter to make_empty_result()
- Passing the val_str() parameter to make_empty_string().

4775677... by Daniel Black

MDEV-23326: fix - not embedded main.mysql_tzinfo_to_sql_symlink

Because this test uses a unix socket to check if the
mysql_tzinfo_to_sql generates suitable SQL it cannot work in
embedded mode.

c935622... by Andrei <email address hidden>

MDEV-19555 assert Diagnostics_area::sql_errno() in ha_rollback_trans

Fixed the assert to restore pre-refactoring condition for
calling set_error() equivalent.

e9aac09... by Marko Mäkelä

MDEV-25440: Indexed CHAR columns are broken with NO_PAD collations

cmp_data(): Compare different-length CHAR fields with
the new strnncollsp_nchars function that will pad spaces if needed.

Any InnoDB ROW_FORMAT except the original one that was named
ROW_FORMAT=REDUNDANT in MySQL 5.0.3 will internally store
CHAR(n) columns as variable-length if the character encoding is
variable length. Spaces may be trimmed from the end.
For NOT NULL values, the minimum length is always n*mbminlen.
In cmp_data() we only know the lengths in bytes and we cannot
easily know the ROW_FORMAT.

is_strnncoll_compatible(): Refactored from innobase_mysql_cmp().

innobase_mysql_cmp(): Merged to cmp_whole_field().

cmp_whole_field(): Invoke strnncollsp_nchars for the DATA_MYSQL
(the CHAR type with any other collation than latin1_swedish_ci).

Reviewed by: Alexander Barkov
Tested by: Roel Roel Van de Paar

37144af... by Marko Mäkelä

Cleanup: Simplify cmp_geometry_field() and cmp_whole_field()

Let us always compare DATA_GEOMETRY with cmp_geometry_field().

be1d965... by Vladislav Vaintroub

MDEV-27373 wolfSSL 5.1.1

- compile wolfcrypt with kdf.c, to avoid undefined symbols in tls13.c
- define WOLFSSL_HAVE_ERROR_QUEUE to avoid endless loop SSL_get_error
- Do not use SSL_CTX_set_tmp_dh/get_dh2048, this would require additional
  compilation options in WolfSSL. Disable it for WolfSSL build, it works
  without it anyway.
- fix "macro already defined" Windows warning.

8db4740... by Oleksandr "Sanja" Byelkin

WolfSSL v5.1.1

0571780... by Jan Lindström

Add have_debug.inc