Skip to content

Commit c41c796

Browse files
committed
Merge 10.4 into 10.5
2 parents a9eb272 + cacea31 commit c41c796

File tree

277 files changed

+2048
-1500
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

277 files changed

+2048
-1500
lines changed

client/mysqlbinlog.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,8 @@ class Load_log_processor
312312
}
313313

314314
public:
315-
Load_log_processor() {}
316-
~Load_log_processor() {}
315+
Load_log_processor() = default;
316+
~Load_log_processor() = default;
317317

318318
int init()
319319
{

extra/mariabackup/xtrabackup.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1864,6 +1864,17 @@ xb_get_one_option(const struct my_option *opt,
18641864
break;
18651865

18661866
case OPT_INNODB_FLUSH_METHOD:
1867+
#ifdef _WIN32
1868+
/* From: storage/innobase/handler/ha_innodb.cc:innodb_init_params */
1869+
switch (srv_file_flush_method) {
1870+
case SRV_ALL_O_DIRECT_FSYNC + 1 /* "async_unbuffered"="unbuffered" */:
1871+
srv_file_flush_method= SRV_ALL_O_DIRECT_FSYNC;
1872+
break;
1873+
case SRV_ALL_O_DIRECT_FSYNC + 2 /* "normal"="fsync" */:
1874+
srv_file_flush_method= SRV_FSYNC;
1875+
break;
1876+
}
1877+
#endif
18671878
ut_a(srv_file_flush_method
18681879
<= IF_WIN(SRV_ALL_O_DIRECT_FSYNC, SRV_O_DIRECT_NO_FSYNC));
18691880
ADD_PRINT_PARAM_OPT(innodb_flush_method_names[srv_file_flush_method]);

extra/wolfssl/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ IF(MSVC)
1212
SET(WOLFSSL_X86_64_BUILD 1)
1313
SET(HAVE_INTEL_RDSEED 1)
1414
SET(HAVE_INTEL_RDRAND 1)
15+
ELSEIF(CMAKE_ASM_COMPILER_ID MATCHES "Clang" AND CMAKE_VERSION VERSION_LESS 3.16)
16+
17+
# WolfSSL 5.5.4 bug workaround below does not work, due to some CMake bug
1518
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
1619
SET(WOLFSSL_X86_64_BUILD 1)
1720
IF(CMAKE_C_COMPILER_ID MATCHES GNU AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)

include/ilist.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@
2727
// Derive your class from this struct to insert to a linked list.
2828
template <class Tag= void> struct ilist_node
2929
{
30-
ilist_node() noexcept
3130
#ifndef DBUG_OFF
32-
: next(NULL), prev(NULL)
31+
ilist_node() noexcept : next(NULL), prev(NULL) {}
32+
#else
33+
ilist_node() = default;
3334
#endif
34-
{
35-
}
3635

3736
ilist_node(ilist_node *next, ilist_node *prev) noexcept
3837
: next(next), prev(prev)

include/my_atomic_wrapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ template <typename Type> class Atomic_relaxed
3939
Atomic_relaxed(const Atomic_relaxed<Type> &rhs)
4040
{ m.store(rhs, std::memory_order_relaxed); }
4141
Atomic_relaxed(Type val) : m(val) {}
42-
Atomic_relaxed() {}
42+
Atomic_relaxed() = default;
4343

4444
Type load(std::memory_order o= std::memory_order_relaxed) const
4545
{ return m.load(o); }

include/my_counter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ template <typename Type> class Atomic_counter
3131
Atomic_counter(const Atomic_counter<Type> &rhs)
3232
{ m_counter.store(rhs, std::memory_order_relaxed); }
3333
Atomic_counter(Type val): m_counter(val) {}
34-
Atomic_counter() {}
34+
Atomic_counter() = default;
3535

3636
Type operator++(int) { return add(1); }
3737
Type operator--(int) { return sub(1); }

include/span.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ template <class ElementType> class span
8181

8282
span(const span &other) : data_(other.data_), size_(other.size_) {}
8383

84-
~span(){};
84+
~span() = default;
8585

8686
span &operator=(const span &other)
8787
{
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
2+
SHOW CREATE TABLE case_folding;
3+
# Uncode code points that have a variable length case mapping in utf8
4+
# (e.g. LOWER('2-byte-character') -> '3-byte-character'
5+
INSERT INTO case_folding (code) VALUES
6+
(0x23A),
7+
(0x23E),
8+
(0x23F),
9+
(0x240),
10+
(0x250),
11+
(0x251),
12+
(0x252),
13+
(0x26B),
14+
(0x271),
15+
(0x27D);
16+
UPDATE case_folding SET c=CHAR(code USING ucs2);
17+
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
18+
DROP TABLE case_folding;

mysql-test/main/ctype_ldml.result

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3036,9 +3036,57 @@ SELECT 'chž'< 'i';
30363036
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
30373037
ERROR HY000: Unknown collation: 'utf8_czech_test_bad_w2'
30383038
#
3039+
# End of 10.2 tests
3040+
#
3041+
#
3042+
# Start of 10.3 tests
3043+
#
3044+
#
3045+
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
3046+
#
3047+
SET NAMES utf8mb4 COLLATE utf8mb4_test_520_nopad_ci;
3048+
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
3049+
SHOW CREATE TABLE case_folding;
3050+
Table Create Table
3051+
case_folding CREATE TABLE `case_folding` (
3052+
`code` int(1) NOT NULL,
3053+
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_test_520_nopad_ci DEFAULT NULL
3054+
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
3055+
INSERT INTO case_folding (code) VALUES
3056+
(0x23A),
3057+
(0x23E),
3058+
(0x23F),
3059+
(0x240),
3060+
(0x250),
3061+
(0x251),
3062+
(0x252),
3063+
(0x26B),
3064+
(0x271),
3065+
(0x27D);
3066+
UPDATE case_folding SET c=CHAR(code USING ucs2);
3067+
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
3068+
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
3069+
23A E2B1A5 C8BA Ⱥ
3070+
23E E2B1A6 C8BE Ⱦ
3071+
23F C8BF E2B1BE ȿ
3072+
240 C980 E2B1BF ɀ
3073+
250 C990 E2B1AF ɐ
3074+
251 C991 E2B1AD ɑ
3075+
252 C992 E2B1B0 ɒ
3076+
26B C9AB E2B1A2 ɫ
3077+
271 C9B1 E2B1AE ɱ
3078+
27D C9BD E2B1A4 ɽ
3079+
DROP TABLE case_folding;
3080+
#
3081+
# End of 10.3 tests
3082+
#
3083+
#
30393084
# MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
30403085
#
30413086
SHOW COLLATION LIKE 'latin1_test_replace';
30423087
Collation Charset Id Default Compiled Sortlen
30433088
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
30443089
ERROR HY000: Unknown collation: 'latin1_test_replace'
3090+
#
3091+
# End of 10.5 tests
3092+
#

mysql-test/main/ctype_ldml.test

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,27 @@ SELECT 'chž'< 'i';
610610
--error ER_UNKNOWN_COLLATION
611611
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
612612

613+
--echo #
614+
--echo # End of 10.2 tests
615+
--echo #
616+
617+
618+
--echo #
619+
--echo # Start of 10.3 tests
620+
--echo #
621+
622+
--echo #
623+
--echo # MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
624+
--echo #
625+
626+
SET NAMES utf8mb4 COLLATE utf8mb4_test_520_nopad_ci;
627+
--source include/ctype_casefolding.inc
628+
629+
630+
--echo #
631+
--echo # End of 10.3 tests
632+
--echo #
633+
613634

614635
--echo #
615636
--echo # MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
@@ -618,3 +639,7 @@ SELECT 'a' COLLATE utf8_czech_test_bad_w2;
618639
SHOW COLLATION LIKE 'latin1_test_replace';
619640
--error ER_UNKNOWN_COLLATION
620641
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
642+
643+
--echo #
644+
--echo # End of 10.5 tests
645+
--echo #

0 commit comments

Comments
 (0)