Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
40adf52d
Commit
40adf52d
authored
Feb 06, 2023
by
Oleksandr Byelkin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '10.4.28' into 10.4
parents
c8f2e9a5
d8c7dc28
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
769 additions
and
128 deletions
+769
-128
VERSION
VERSION
+1
-1
mysql-test/include/ctype_casefolding.inc
mysql-test/include/ctype_casefolding.inc
+18
-0
mysql-test/main/ctype_ldml.result
mysql-test/main/ctype_ldml.result
+45
-0
mysql-test/main/ctype_ldml.test
mysql-test/main/ctype_ldml.test
+21
-0
mysql-test/main/ctype_uca.result
mysql-test/main/ctype_uca.result
+4
-4
mysql-test/main/ctype_utf8_uca.result
mysql-test/main/ctype_utf8_uca.result
+174
-0
mysql-test/main/ctype_utf8_uca.test
mysql-test/main/ctype_utf8_uca.test
+29
-0
mysql-test/main/ctype_utf8mb4_uca.result
mysql-test/main/ctype_utf8mb4_uca.result
+174
-0
mysql-test/main/ctype_utf8mb4_uca.test
mysql-test/main/ctype_utf8mb4_uca.test
+29
-0
mysql-test/main/multi_update.result
mysql-test/main/multi_update.result
+120
-0
mysql-test/main/multi_update.test
mysql-test/main/multi_update.test
+70
-0
mysql-test/main/update_use_source.result
mysql-test/main/update_use_source.result
+8
-4
mysql-test/suite/galera/r/MDEV-24143.result
mysql-test/suite/galera/r/MDEV-24143.result
+0
-23
mysql-test/suite/galera/r/galera_bf_abort_get_lock.result
mysql-test/suite/galera/r/galera_bf_abort_get_lock.result
+0
-18
mysql-test/suite/galera/r/galera_locks_funcs.result
mysql-test/suite/galera/r/galera_locks_funcs.result
+19
-0
mysql-test/suite/galera/t/MDEV-24143.test
mysql-test/suite/galera/t/MDEV-24143.test
+0
-20
mysql-test/suite/galera/t/galera_bf_abort_get_lock.test
mysql-test/suite/galera/t/galera_bf_abort_get_lock.test
+0
-36
mysql-test/suite/galera/t/galera_locks_funcs.test
mysql-test/suite/galera/t/galera_locks_funcs.test
+14
-0
mysys/charset.c
mysys/charset.c
+2
-0
sql/item_create.cc
sql/item_create.cc
+14
-0
sql/item_subselect.cc
sql/item_subselect.cc
+3
-1
sql/mysqld.cc
sql/mysqld.cc
+3
-5
strings/ctype-uca.c
strings/ctype-uca.c
+21
-16
No files found.
VERSION
View file @
40adf52d
MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=4
MYSQL_VERSION_PATCH=2
8
MYSQL_VERSION_PATCH=2
9
SERVER_MATURITY=stable
mysql-test/include/ctype_casefolding.inc
0 → 100644
View file @
40adf52d
CREATE
OR
REPLACE
TABLE
case_folding
AS
SELECT
0
AS
code
,
SPACE
(
32
)
AS
c
LIMIT
0
;
SHOW
CREATE
TABLE
case_folding
;
# Uncode code points that have a variable length case mapping in utf8
# (e.g. LOWER('2-byte-character') -> '3-byte-character'
INSERT
INTO
case_folding
(
code
)
VALUES
(
0x23A
),
(
0x23E
),
(
0x23F
),
(
0x240
),
(
0x250
),
(
0x251
),
(
0x252
),
(
0x26B
),
(
0x271
),
(
0x27D
);
UPDATE
case_folding
SET
c
=
CHAR
(
code
USING
ucs2
);
SELECT
HEX
(
code
),
HEX
(
LOWER
(
c
)),
HEX
(
UPPER
(
c
)),
c
FROM
case_folding
;
DROP
TABLE
case_folding
;
mysql-test/main/ctype_ldml.result
View file @
40adf52d
No preview for this file type
mysql-test/main/ctype_ldml.test
View file @
40adf52d
...
...
@@ -605,3 +605,24 @@ SELECT 'chž'< 'i';
--
error
ER_UNKNOWN_COLLATION
SELECT
'a'
COLLATE
utf8_czech_test_bad_w2
;
--
echo
#
--
echo
# End of 10.2 tests
--
echo
#
--
echo
#
--
echo
# Start of 10.3 tests
--
echo
#
--
echo
#
--
echo
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
--
echo
#
SET
NAMES
utf8mb4
COLLATE
utf8mb4_test_520_nopad_ci
;
--
source
include
/
ctype_casefolding
.
inc
--
echo
#
--
echo
# End of 10.3 tests
--
echo
#
mysql-test/main/ctype_uca.result
View file @
40adf52d
...
...
@@ -8204,7 +8204,7 @@ INSERT INTO t1 VALUES (_utf32 0x2CEE);
SELECT hex(c), hex(lower(c)), hex(upper(c)), hex(weight_string(c)), c
FROM t1 ORDER BY c, BINARY c;
hex(c) hex(lower(c)) hex(upper(c)) hex(weight_string(c)) c
C8BA C8BA 1214 Ⱥ
C8BA
E2B1A5
C8BA 1214 Ⱥ
E2B1A5 E2B1A5 C8BA 1214 ⱥ
C680 C680 C983 122D ƀ
C983 C680 C983 122D Ƀ
...
...
@@ -8229,7 +8229,7 @@ E2B1AA E2B1AA E2B1A9 1328 ⱪ
C8BD C69A C8BD 133B Ƚ
E2B1A0 E2B1A1 E2B1A0 133F Ⱡ
E2B1A1 E2B1A1 E2B1A0 133F ⱡ
C9AB C9AB 1340 ɫ
C9AB C9AB
E2B1A2
1340 ɫ
E2B1A2 C9AB E2B1A2 1340 Ɫ
E1B5BD E1B5BD E2B1A3 13B8 ᵽ
E2B1A3 E1B5BD E2B1A3 13B8 Ᵽ
...
...
@@ -8237,11 +8237,11 @@ C98A C98B C98A 13D2 Ɋ
C98B C98B C98A 13D2 ɋ
C98C C98D C98C 13E4 Ɍ
C98D C98D C98C 13E4 ɍ
C9BD C9BD 13FC ɽ
C9BD C9BD
E2B1A4
13FC ɽ
E2B1A4 C9BD E2B1A4 13FC Ɽ
EA9CA8 EA9CA9 EA9CA8 143314AD Ꜩ
EA9CA9 EA9CA9 EA9CA8 143314AD ꜩ
C8BE C8BE 143C Ⱦ
C8BE
E2B1A6
C8BE 143C Ⱦ
E2B1A6 E2B1A6 C8BE 143C ⱦ
C984 CA89 C984 145B Ʉ
CA89 CA89 C984 145B ʉ
...
...
mysql-test/main/ctype_utf8_uca.result
View file @
40adf52d
...
...
@@ -587,3 +587,177 @@ DROP TABLE t1;
#
# End of 10.2 tests
#
#
# Start of 10.3 tests
#
#
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
#
SET NAMES utf8mb3 COLLATE utf8mb3_unicode_ci /*Unicode-4.0 folding*/;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A C8BA C8BA Ⱥ
23E C8BE C8BE Ⱦ
23F C8BF C8BF ȿ
240 C980 C980 ɀ
250 C990 C990 ɐ
251 C991 C991 ɑ
252 C992 C992 ɒ
26B C9AB C9AB ɫ
271 C9B1 C9B1 ɱ
27D C9BD C9BD ɽ
DROP TABLE case_folding;
SET NAMES utf8mb3 COLLATE utf8mb3_unicode_520_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_520_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb3 COLLATE utf8mb3_unicode_520_nopad_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_520_nopad_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb3 COLLATE utf8mb3_myanmar_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8 COLLATE utf8_myanmar_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb3 COLLATE utf8mb3_thai_520_w2;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
#
# End of 10.3 tests
#
mysql-test/main/ctype_utf8_uca.test
View file @
40adf52d
...
...
@@ -21,3 +21,32 @@ SET NAMES utf8 COLLATE utf8_unicode_nopad_ci;
--
echo
#
--
echo
# End of 10.2 tests
--
echo
#
--
echo
#
--
echo
# Start of 10.3 tests
--
echo
#
--
echo
#
--
echo
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
--
echo
#
SET
NAMES
utf8mb3
COLLATE
utf8mb3_unicode_ci
/*Unicode-4.0 folding*/
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb3
COLLATE
utf8mb3_unicode_520_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb3
COLLATE
utf8mb3_unicode_520_nopad_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb3
COLLATE
utf8mb3_myanmar_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb3
COLLATE
utf8mb3_thai_520_w2
;
--
source
include
/
ctype_casefolding
.
inc
--
echo
#
--
echo
# End of 10.3 tests
--
echo
#
mysql-test/main/ctype_utf8mb4_uca.result
View file @
40adf52d
...
...
@@ -6605,3 +6605,177 @@ SET NAMES utf8mb4;
#
# End of 10.2 tests
#
#
# Start of 10.3 tests
#
#
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
#
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci /*Unicode-4.0 folding*/;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A C8BA C8BA Ⱥ
23E C8BE C8BE Ⱦ
23F C8BF C8BF ȿ
240 C980 C980 ɀ
250 C990 C990 ɐ
251 C991 C991 ɑ
252 C992 C992 ɒ
26B C9AB C9AB ɫ
271 C9B1 C9B1 ɱ
27D C9BD C9BD ɽ
DROP TABLE case_folding;
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_520_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_520_nopad_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_nopad_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb4 COLLATE utf8mb4_myanmar_ci;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_myanmar_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
SET NAMES utf8mb4 COLLATE utf8mb4_thai_520_w2;
CREATE OR REPLACE TABLE case_folding AS SELECT 0 AS code, SPACE(32) AS c LIMIT 0;
SHOW CREATE TABLE case_folding;
Table Create Table
case_folding CREATE TABLE `case_folding` (
`code` int(1) NOT NULL,
`c` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO case_folding (code) VALUES
(0x23A),
(0x23E),
(0x23F),
(0x240),
(0x250),
(0x251),
(0x252),
(0x26B),
(0x271),
(0x27D);
UPDATE case_folding SET c=CHAR(code USING ucs2);
SELECT HEX(code), HEX(LOWER(c)), HEX(UPPER(c)), c FROM case_folding;
HEX(code) HEX(LOWER(c)) HEX(UPPER(c)) c
23A E2B1A5 C8BA Ⱥ
23E E2B1A6 C8BE Ⱦ
23F C8BF E2B1BE ȿ
240 C980 E2B1BF ɀ
250 C990 E2B1AF ɐ
251 C991 E2B1AD ɑ
252 C992 E2B1B0 ɒ
26B C9AB E2B1A2 ɫ
271 C9B1 E2B1AE ɱ
27D C9BD E2B1A4 ɽ
DROP TABLE case_folding;
#
# End of 10.3 tests
#
mysql-test/main/ctype_utf8mb4_uca.test
View file @
40adf52d
...
...
@@ -108,3 +108,32 @@ SET NAMES utf8mb4;
--
echo
#
--
echo
# End of 10.2 tests
--
echo
#
--
echo
#
--
echo
# Start of 10.3 tests
--
echo
#
--
echo
#
--
echo
# MDEV-30556 UPPER() returns an empty string for U+0251 in Unicode-5.2.0+ collations for utf8
--
echo
#
SET
NAMES
utf8mb4
COLLATE
utf8mb4_unicode_ci
/*Unicode-4.0 folding*/
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb4
COLLATE
utf8mb4_unicode_520_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb4
COLLATE
utf8mb4_unicode_520_nopad_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb4
COLLATE
utf8mb4_myanmar_ci
;
--
source
include
/
ctype_casefolding
.
inc
SET
NAMES
utf8mb4
COLLATE
utf8mb4_thai_520_w2
;
--
source
include
/
ctype_casefolding
.
inc
--
echo
#
--
echo
# End of 10.3 tests
--
echo
#
mysql-test/main/multi_update.result
View file @
40adf52d
...
...
@@ -1251,3 +1251,123 @@ EXPLAIN
}
}
DROP TABLES t1, t2;
# End of 10.3 tests
#
# MDEV-28538: multi-table UPDATE/DELETE with possible exists-to-in
#
create table t1 (c1 int, c2 int, c3 int, index idx(c2));
insert into t1 values
(1,1,1),(3,2,2),(1,3,3),
(2,1,4),(2,2,5),(4,3,6),
(2,4,7),(2,5,8);
create table t2 (c1 int, c2 int, c3 int, index idx(c2));
insert into t2 values
(1,7,1),(1,8,2),(1,3,3),
(2,1,4),(2,2,5),(2,3,6),
(2,4,7),(2,5,8);
create table t3 (c1 int, c2 int, c3 int, index idx(c2));
insert into t3 values
(1,1,1),(1,2,2),(1,3,3),
(2,1,4),(2,2,5),(2,3,6),
(2,4,7),(2,5,8);
insert into t3 select c1+1, c2+2, c3 from t3;
insert into t3 select c1, c2+2, c3 from t3;
analyze table t1,t2,t3 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
test.t3 analyze status Engine-independent statistics collected
test.t3 analyze status OK
explain select * from t1,t3
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL idx NULL NULL NULL 8 Using where
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
1 PRIMARY t3 ref idx idx 5 test.t1.c2 3
2 MATERIALIZED t2 range idx idx 5 NULL 3 Using index condition; Using where
explain delete from t1 using t1,t3
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL idx NULL NULL NULL 8 Using where
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
1 PRIMARY t3 ref idx idx 5 test.t1.c2 3 Using index
2 MATERIALIZED t2 range idx idx 5 NULL 3 Using where
explain update t1,t3 set t1.c1 = t1.c1+10
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL idx NULL NULL NULL 8 Using where
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
1 PRIMARY t3 ref idx idx 5 test.t1.c2 3 Using index
2 MATERIALIZED t2 range idx idx 5 NULL 3 Using where
create table t as select * from t1;
select * from t1,t3
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
c1 c2 c3 c1 c2 c3
2 1 4 1 1 1
2 1 4 2 1 4
2 2 5 1 2 2
2 2 5 2 2 5
2 4 7 2 4 7
2 4 7 2 4 2
2 4 7 3 4 5
2 4 7 1 4 2
2 4 7 2 4 5
2 5 8 2 5 8
2 5 8 2 5 3
2 5 8 3 5 6
2 5 8 1 5 3
2 5 8 2 5 6
2 5 8 2 5 1
2 5 8 3 5 4
select * from t1;
c1 c2 c3
1 1 1
3 2 2
1 3 3
2 1 4
2 2 5
4 3 6
2 4 7
2 5 8
delete from t1 using t1,t3
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
select * from t1;
c1 c2 c3
1 1 1
3 2 2
1 3 3
4 3 6
truncate table t1;
insert into t1 select * from t;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
update t1,t3 set t1.c1 = t1.c1+10
where t1.c2 = t3.c2 and
t1.c1 > 1 and
exists (select 'X' from t2 where t2.c1 = t1.c1 and t2.c2 > 4);
select * from t1;
c1 c2 c3
1 1 1
3 2 2
1 3 3
12 1 4
12 2 5
4 3 6
12 4 7
12 5 8
drop table t1,t2,t3,t;
# End of 10.4 tests
mysql-test/main/multi_update.test
View file @
40adf52d
...
...
@@ -1130,3 +1130,73 @@ EXPLAIN FORMAT=JSON UPDATE t2 JOIN t1 USING(a) SET t2.part=2 WHERE t2.part=1 AND
EXPLAIN
FORMAT
=
JSON
UPDATE
t2
JOIN
t1
USING
(
a
)
SET
t2
.
part
=
3
WHERE
t2
.
part
=
2
AND
t1
.
part
=
2
;
DROP
TABLES
t1
,
t2
;
--
echo
# End of 10.3 tests
--
echo
#
--
echo
# MDEV-28538: multi-table UPDATE/DELETE with possible exists-to-in
--
echo
#
create
table
t1
(
c1
int
,
c2
int
,
c3
int
,
index
idx
(
c2
));
insert
into
t1
values
(
1
,
1
,
1
),(
3
,
2
,
2
),(
1
,
3
,
3
),
(
2
,
1
,
4
),(
2
,
2
,
5
),(
4
,
3
,
6
),
(
2
,
4
,
7
),(
2
,
5
,
8
);
create
table
t2
(
c1
int
,
c2
int
,
c3
int
,
index
idx
(
c2
));
insert
into
t2
values
(
1
,
7
,
1
),(
1
,
8
,
2
),(
1
,
3
,
3
),
(
2
,
1
,
4
),(
2
,
2
,
5
),(
2
,
3
,
6
),
(
2
,
4
,
7
),(
2
,
5
,
8
);
create
table
t3
(
c1
int
,
c2
int
,
c3
int
,
index
idx
(
c2
));
insert
into
t3
values
(
1
,
1
,
1
),(
1
,
2
,
2
),(
1
,
3
,
3
),
(
2
,
1
,
4
),(
2
,
2
,
5
),(
2
,
3
,
6
),
(
2
,
4
,
7
),(
2
,
5
,
8
);
insert
into
t3
select
c1
+
1
,
c2
+
2
,
c3
from
t3
;
insert
into
t3
select
c1
,
c2
+
2
,
c3
from
t3
;
analyze
table
t1
,
t2
,
t3
persistent
for
all
;
let
$c
=
t1
.
c2
=
t3
.
c2
and
t1
.
c1
>
1
and
exists
(
select
'X'
from
t2
where
t2
.
c1
=
t1
.
c1
and
t2
.
c2
>
4
);
let
$q1
=
select
*
from
t1
,
t3
where
$c
;
eval
explain
$q1
;
let
$q2
=
delete
from
t1
using
t1
,
t3
where
$c
;
eval
explain
$q2
;
let
$q3
=
update
t1
,
t3
set
t1
.
c1
=
t1
.
c1
+
10
where
$c
;
eval
explain
$q3
;
create
table
t
as
select
*
from
t1
;
eval
$q1
;
select
*
from
t1
;
eval
$q2
;
select
*
from
t1
;
truncate
table
t1
;
insert
into
t1
select
*
from
t
;
analyze
table
t1
persistent
for
all
;
eval
$q3
;
select
*
from
t1
;
drop
table
t1
,
t2
,
t3
,
t
;
--
echo
# End of 10.4 tests
mysql-test/main/update_use_source.result
View file @
40adf52d
...
...
@@ -76,7 +76,8 @@ rollback;
explain update t1 set c1=0 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 > 3;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 8 Using where
2 DEPENDENT SUBQUERY a ALL NULL NULL NULL NULL 8 Using where
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED a ALL NULL NULL NULL NULL 8
start transaction;
update t1 set c1=c1+10 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 >= 3;
affected rows: 4
...
...
@@ -317,7 +318,8 @@ rollback;
explain update t1 set c1=0 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 > 3;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 range t1_c2 t1_c2 5 NULL 2 Using where
2 DEPENDENT SUBQUERY a ref t1_c2 t1_c2 5 test.t1.c2 4 Using index
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED a range t1_c2 t1_c2 5 NULL 2 Using where; Using index
start transaction;
update t1 set c1=c1+10 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 >= 3;
affected rows: 4
...
...
@@ -558,7 +560,8 @@ rollback;
explain update t1 set c1=0 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 > 3;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 range t1_c2 t1_c2 5 NULL 2 Using where
2 DEPENDENT SUBQUERY a ref t1_c2 t1_c2 5 test.t1.c2 1 Using index
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED a range t1_c2 t1_c2 5 NULL 2 Using where; Using index
start transaction;
update t1 set c1=c1+10 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 >= 3;
affected rows: 4
...
...
@@ -800,7 +803,8 @@ rollback;
explain update t1 set c1=0 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 > 3;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 range t1_c2 t1_c2 5 NULL 2 Using where
2 DEPENDENT SUBQUERY a ref t1_c2 t1_c2 5 test.t1.c2 1 Using index
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED a range t1_c2 t1_c2 5 NULL 2 Using where; Using index
start transaction;
update t1 set c1=c1+10 where exists (select 'X' from t1 a where a.c2 = t1.c2) and c2 >= 3;
affected rows: 4
...
...
mysql-test/suite/galera/r/MDEV-24143.result
deleted
100644 → 0
View file @
c8f2e9a5
connection node_2;
connection node_1;
CREATE TABLE t1 (c1 BIGINT NOT NULL PRIMARY KEY, c2 BINARY (10), c3 DATETIME);
SELECT get_lock ('test2', 0);
get_lock ('test2', 0)
1
DROP TABLE t1;
CREATE TABLE t1 (c1 SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO t1 VALUES (1);
SET SESSION wsrep_trx_fragment_size=10;
SET SESSION autocommit=0;
SELECT * FROM t1 WHERE c1 <=0 ORDER BY c1 DESC;
c1
INSERT INTO t1 VALUES (4),(3),(1),(2);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=SEQUENCE;
ERROR 42S01: Table 't1' already exists
ALTER TABLE t1 DROP COLUMN c2;
ERROR 42000: Can't DROP COLUMN `c2`; check that it exists
SELECT get_lock ('test', 1.5);
get_lock ('test', 1.5)
1
DROP TABLE t1;
mysql-test/suite/galera/r/galera_bf_abort_get_lock.result
deleted
100644 → 0
View file @
c8f2e9a5
connection node_2;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
connection node_2a;
SELECT GET_LOCK("foo", 1000);
GET_LOCK("foo", 1000)
1
connection node_2;
SET AUTOCOMMIT=OFF;
INSERT INTO t1 VALUES (1);
SELECT GET_LOCK("foo", 1000);;
connection node_1;
INSERT INTO t1 VALUES (1);
connection node_2;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
wsrep_local_aborts_increment
1
DROP TABLE t1;
mysql-test/suite/galera/r/galera_locks_funcs.result
0 → 100644
View file @
40adf52d
connection node_2;
connection node_1;
CREATE TABLE t (c DOUBLE,c2 INT,PRIMARY KEY(c)) ENGINE=InnoDB;
INSERT INTO t values (1,1);
SELECT GET_LOCK('a',1);
ERROR 42000: This version of MariaDB doesn't yet support 'GET_LOCK in cluster (WSREP_ON=ON)'
SHOW WARNINGS;
Level Code Message
Error 1235 This version of MariaDB doesn't yet support 'GET_LOCK in cluster (WSREP_ON=ON)'
SELECT * FROM t;
c c2
1 1
SELECT RELEASE_LOCK('a');
ERROR 42000: This version of MariaDB doesn't yet support 'RELEASE_LOCK in cluster (WSREP_ON=ON)'
SHOW WARNINGS;
Level Code Message
Error 1235 This version of MariaDB doesn't yet support 'RELEASE_LOCK in cluster (WSREP_ON=ON)'
COMMIT;
DROP TABLE t;
mysql-test/suite/galera/t/MDEV-24143.test
deleted
100644 → 0
View file @
c8f2e9a5
--
source
include
/
galera_cluster
.
inc
--
source
include
/
have_sequence
.
inc
CREATE
TABLE
t1
(
c1
BIGINT
NOT
NULL
PRIMARY
KEY
,
c2
BINARY
(
10
),
c3
DATETIME
);
SELECT
get_lock
(
'test2'
,
0
);
DROP
TABLE
t1
;
CREATE
TABLE
t1
(
c1
SMALLINT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
);
INSERT
INTO
t1
VALUES
(
1
);
SET
SESSION
wsrep_trx_fragment_size
=
10
;
SET
SESSION
autocommit
=
0
;
SELECT
*
FROM
t1
WHERE
c1
<=
0
ORDER
BY
c1
DESC
;
--
error
ER_LOCK_DEADLOCK
INSERT
INTO
t1
VALUES
(
4
),(
3
),(
1
),(
2
);
--
error
ER_TABLE_EXISTS_ERROR
CREATE
TABLE
t1
(
pk
INT
PRIMARY
KEY
,
b
INT
)
ENGINE
=
SEQUENCE
;
--
error
ER_CANT_DROP_FIELD_OR_KEY
ALTER
TABLE
t1
DROP
COLUMN
c2
;
SELECT
get_lock
(
'test'
,
1.5
);
DROP
TABLE
t1
;
mysql-test/suite/galera/t/galera_bf_abort_get_lock.test
deleted
100644 → 0
View file @
c8f2e9a5
--
source
include
/
galera_cluster
.
inc
--
source
include
/
have_innodb
.
inc
#
# Test a local transaction being aborted by a slave one while it is running a GET_LOCK()
#
CREATE
TABLE
t1
(
f1
INTEGER
PRIMARY
KEY
)
ENGINE
=
InnoDB
;
--
let
$galera_connection_name
=
node_2a
--
let
$galera_server_number
=
2
--
source
include
/
galera_connect
.
inc
--
connection
node_2a
SELECT
GET_LOCK
(
"foo"
,
1000
);
--
connection
node_2
SET
AUTOCOMMIT
=
OFF
;
--
let
$wsrep_local_bf_aborts_before
=
`SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
INSERT
INTO
t1
VALUES
(
1
);
--
send
SELECT
GET_LOCK
(
"foo"
,
1000
);
--
connection
node_1
INSERT
INTO
t1
VALUES
(
1
);
--
connection
node_2
--
error
ER_LOCK_DEADLOCK
--
reap
--
let
$wsrep_local_bf_aborts_after
=
`SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
# Check that wsrep_local_bf_aborts has been incremented by exactly 1
--
disable_query_log
--
eval
SELECT
$wsrep_local_bf_aborts_after
-
$wsrep_local_bf_aborts_before
=
1
AS
wsrep_local_aborts_increment
;
--
enable_query_log
DROP
TABLE
t1
;
mysql-test/suite/galera/t/galera_locks_funcs.test
0 → 100644
View file @
40adf52d
--
source
include
/
galera_cluster
.
inc
CREATE
TABLE
t
(
c
DOUBLE
,
c2
INT
,
PRIMARY
KEY
(
c
))
ENGINE
=
InnoDB
;
INSERT
INTO
t
values
(
1
,
1
);
--
error
ER_NOT_SUPPORTED_YET
SELECT
GET_LOCK
(
'a'
,
1
);
SHOW
WARNINGS
;
SELECT
*
FROM
t
;
--
error
ER_NOT_SUPPORTED_YET
SELECT
RELEASE_LOCK
(
'a'
);
SHOW
WARNINGS
;
COMMIT
;
DROP
TABLE
t
;
mysys/charset.c
View file @
40adf52d
...
...
@@ -368,6 +368,8 @@ static int add_collation(struct charset_info_st *cs)
&
my_charset_utf8mb4_unicode_ci
,
cs
);
newcs
->
ctype
=
my_charset_utf8mb4_unicode_ci
.
ctype
;
if
(
init_state_maps
(
newcs
))
return
MY_XML_ERROR
;
newcs
->
state
|=
MY_CS_AVAILABLE
|
MY_CS_LOADED
;
#endif
}
...
...
sql/item_create.cc
View file @
40adf52d
...
...
@@ -4933,6 +4933,13 @@ Create_func_get_lock Create_func_get_lock::s_singleton;
Item
*
Create_func_get_lock
::
create_2_arg
(
THD
*
thd
,
Item
*
arg1
,
Item
*
arg2
)
{
#ifdef WITH_WSREP
if
(
WSREP_ON
&&
WSREP
(
thd
))
{
my_error
(
ER_NOT_SUPPORTED_YET
,
MYF
(
0
),
"GET_LOCK in cluster (WSREP_ON=ON)"
);
return
NULL
;
}
#endif
/* WITH_WSREP */
thd
->
lex
->
set_stmt_unsafe
(
LEX
::
BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION
);
thd
->
lex
->
uncacheable
(
UNCACHEABLE_SIDEEFFECT
);
return
new
(
thd
->
mem_root
)
Item_func_get_lock
(
thd
,
arg1
,
arg2
);
...
...
@@ -6535,6 +6542,13 @@ Create_func_release_lock Create_func_release_lock::s_singleton;
Item
*
Create_func_release_lock
::
create_1_arg
(
THD
*
thd
,
Item
*
arg1
)
{
#ifdef WITH_WSREP
if
(
WSREP_ON
&&
WSREP
(
thd
))
{
my_error
(
ER_NOT_SUPPORTED_YET
,
MYF
(
0
),
"RELEASE_LOCK in cluster (WSREP_ON=ON)"
);
return
NULL
;
}
#endif
/* WITH_WSREP */
thd
->
lex
->
set_stmt_unsafe
(
LEX
::
BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION
);
thd
->
lex
->
uncacheable
(
UNCACHEABLE_SIDEEFFECT
);
return
new
(
thd
->
mem_root
)
Item_func_release_lock
(
thd
,
arg1
);
...
...
sql/item_subselect.cc
View file @
40adf52d
...
...
@@ -2825,7 +2825,9 @@ bool Item_exists_subselect::select_prepare_to_be_in()
bool
trans_res
=
FALSE
;
DBUG_ENTER
(
"Item_exists_subselect::select_prepare_to_be_in"
);
if
(
!
optimizer
&&
thd
->
lex
->
sql_command
==
SQLCOM_SELECT
&&
(
thd
->
lex
->
sql_command
==
SQLCOM_SELECT
||
thd
->
lex
->
sql_command
==
SQLCOM_UPDATE_MULTI
||
thd
->
lex
->
sql_command
==
SQLCOM_DELETE_MULTI
)
&&
!
unit
->
first_select
()
->
is_part_of_union
()
&&
optimizer_flag
(
thd
,
OPTIMIZER_SWITCH_EXISTS_TO_IN
)
&&
(
is_top_level_item
()
||
...
...
sql/mysqld.cc
View file @
40adf52d
...
...
@@ -2576,11 +2576,9 @@ void close_connection(THD *thd, uint sql_errno)
net_send_error
(
thd
,
sql_errno
,
ER_DEFAULT
(
sql_errno
),
NULL
);
thd
->
print_aborted_warning
(
lvl
,
ER_DEFAULT
(
sql_errno
));
}
else
thd
->
print_aborted_warning
(
lvl
,
(
thd
->
main_security_ctx
.
user
?
"This connection closed normally"
:
"This connection closed normally without"
" authentication"
));
else
if
(
!
thd
->
main_security_ctx
.
user
)
thd
->
print_aborted_warning
(
lvl
,
"This connection closed normally without"
" authentication"
);
thd
->
disconnect
();
...
...
strings/ctype-uca.c
View file @
40adf52d
...
...
@@ -33859,6 +33859,11 @@ create_tailoring(struct charset_info_st *cs,
{
src_uca= &my_uca_v520;
cs->caseinfo= &my_unicase_unicode520;
if (cs->mbminlen == 1 && cs->mbmaxlen >=3)
{
cs->caseup_multiply= 2;
cs->casedn_multiply= 2;
}
}
else if (rules.version == 400) /* Unicode-4.0.0 requested */
{
...
...
@@ -35692,8 +35697,8 @@ struct charset_info_st my_charset_utf8_myanmar_uca_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -35725,8 +35730,8 @@ struct charset_info_st my_charset_utf8_unicode_520_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -35757,8 +35762,8 @@ struct charset_info_st my_charset_utf8_thai_520_w2=
NULL, /* state_map */
NULL, /* ident_map */
4, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -35855,8 +35860,8 @@ struct charset_info_st my_charset_utf8_unicode_520_nopad_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
3, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -36670,8 +36675,8 @@ struct charset_info_st my_charset_utf8mb4_myanmar_uca_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
4, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -36702,8 +36707,8 @@ struct charset_info_st my_charset_utf8mb4_thai_520_w2=
NULL, /* state_map */
NULL, /* ident_map */
4, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
4, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -36734,8 +36739,8 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
4, /* mbmaxlen */
9, /* min_sort_char */
...
...
@@ -36833,8 +36838,8 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_nopad_ci=
NULL, /* state_map */
NULL, /* ident_map */
8, /* strxfrm_multiply */
1
, /* caseup_multiply */
1
, /* casedn_multiply */
2
, /* caseup_multiply */
2
, /* casedn_multiply */
1, /* mbminlen */
4, /* mbmaxlen */
9, /* min_sort_char */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment