mirror of
https://github.com/MariaDB/server.git
synced 2026-05-03 13:45:34 +02:00
Automerge (most) changes of the 5.5.6-rc release build to main 5.5.
This is not the final merge!
This commit is contained in:
commit
f19144c094
31 changed files with 388 additions and 48 deletions
16
mysql-test/include/ctype_filesort2.inc
Normal file
16
mysql-test/include/ctype_filesort2.inc
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
# Testing filesort for full Unicode character sets
|
||||
# with supplementary characters.
|
||||
#
|
||||
|
||||
--echo #
|
||||
--echo # Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
--echo #
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84);
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
ALTER TABLE t1 ADD KEY(a);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
|
@ -611,6 +611,31 @@ utf16_bin 00610009
|
|||
utf16_bin 0061
|
||||
utf16_bin 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(1) CHARACTER SET utf16 COLLATE utf16_bin NOT NULL DEFAULT ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84);
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
0385 CE85
|
||||
D800DF84 F0908E84
|
||||
DBC0DC00 F4808080
|
||||
FF9D EFBE9D
|
||||
ALTER TABLE t1 ADD KEY(a);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
0385 CE85
|
||||
D800DF84 F0908E84
|
||||
DBC0DC00 F4808080
|
||||
FF9D EFBE9D
|
||||
DROP TABLE IF EXISTS t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_bin
|
||||
|
|
|
|||
|
|
@ -610,6 +610,31 @@ utf32_bin 0000006100000009
|
|||
utf32_bin 00000061
|
||||
utf32_bin 0000006100000020
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(1) CHARACTER SET utf32 COLLATE utf32_bin NOT NULL DEFAULT ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84);
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
00000385 CE85
|
||||
0000FF9D EFBE9D
|
||||
00010384 F0908E84
|
||||
00100000 F4808080
|
||||
ALTER TABLE t1 ADD KEY(a);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
00000385 CE85
|
||||
0000FF9D EFBE9D
|
||||
00010384 F0908E84
|
||||
00100000 F4808080
|
||||
DROP TABLE IF EXISTS t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_bin
|
||||
|
|
|
|||
|
|
@ -987,6 +987,31 @@ utf8mb4_bin 6109
|
|||
utf8mb4_bin 61
|
||||
utf8mb4_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84);
|
||||
INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
CE85 CE85
|
||||
EFBE9D EFBE9D
|
||||
F0908E84 F0908E84
|
||||
F4808080 F4808080
|
||||
ALTER TABLE t1 ADD KEY(a);
|
||||
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
|
||||
HEX(a) HEX(CONVERT(a USING utf8mb4))
|
||||
CE85 CE85
|
||||
EFBE9D EFBE9D
|
||||
F0908E84 F0908E84
|
||||
F4808080 F4808080
|
||||
DROP TABLE IF EXISTS t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
|
|
|
|||
|
|
@ -186,3 +186,13 @@ MAX(IFNULL(CAST(c AS UNSIGNED), 0))
|
|||
12345678901234567890
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Bug#55077: Assertion failed: width > 0 && to != ((void *)0), file .\dtoa.c
|
||||
#
|
||||
CREATE TABLE t1 (a LONGBLOB, b DOUBLE);
|
||||
INSERT INTO t1 VALUES (NULL, 0), (NULL, 1);
|
||||
SELECT IF(b, (SELECT a FROM t1 LIMIT 1), b) c FROM t1 GROUP BY c;
|
||||
c
|
||||
NULL
|
||||
0
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -134,3 +134,19 @@ Warning 1405 Failed to revoke all privileges to dropped routine
|
|||
# Restore the procs_priv table
|
||||
RENAME TABLE procs_priv_backup TO mysql.procs_priv;
|
||||
FLUSH TABLE mysql.procs_priv;
|
||||
#
|
||||
# Bug #56137 "Assertion `thd->lock == 0' failed on upgrading from
|
||||
# 5.1.50 to 5.5.6".
|
||||
#
|
||||
drop database if exists mysqltest;
|
||||
# Backup mysql.proc.
|
||||
flush table mysql.proc;
|
||||
create database mysqltest;
|
||||
# Corrupt mysql.proc to make it unusable by current version of server.
|
||||
alter table mysql.proc drop column type;
|
||||
# The below statement should not cause assertion failure.
|
||||
drop database mysqltest;
|
||||
Warnings:
|
||||
Error 1547 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted
|
||||
# Restore mysql.proc.
|
||||
drop table mysql.proc;
|
||||
|
|
|
|||
|
|
@ -326,6 +326,7 @@ SET collation_connection='utf16_general_ci';
|
|||
SET NAMES latin1;
|
||||
SET collation_connection='utf16_bin';
|
||||
-- source include/ctype_filesort.inc
|
||||
-- source include/ctype_filesort2.inc
|
||||
-- source include/ctype_like_escape.inc
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -328,6 +328,7 @@ SET collation_connection='utf32_general_ci';
|
|||
SET NAMES latin1;
|
||||
SET collation_connection='utf32_bin';
|
||||
-- source include/ctype_filesort.inc
|
||||
-- source include/ctype_filesort2.inc
|
||||
-- source include/ctype_like_escape.inc
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -733,6 +733,7 @@ SET collation_connection='utf8mb4_general_ci';
|
|||
-- source include/ctype_german.inc
|
||||
SET collation_connection='utf8mb4_bin';
|
||||
-- source include/ctype_filesort.inc
|
||||
-- source include/ctype_filesort2.inc
|
||||
-- source include/ctype_like_escape.inc
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -165,3 +165,15 @@ DROP TABLE t1;
|
|||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#55077: Assertion failed: width > 0 && to != ((void *)0), file .\dtoa.c
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a LONGBLOB, b DOUBLE);
|
||||
INSERT INTO t1 VALUES (NULL, 0), (NULL, 1);
|
||||
|
||||
SELECT IF(b, (SELECT a FROM t1 LIMIT 1), b) c FROM t1 GROUP BY c;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -222,3 +222,33 @@ SHOW WARNINGS;
|
|||
--echo # Restore the procs_priv table
|
||||
RENAME TABLE procs_priv_backup TO mysql.procs_priv;
|
||||
FLUSH TABLE mysql.procs_priv;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #56137 "Assertion `thd->lock == 0' failed on upgrading from
|
||||
--echo # 5.1.50 to 5.5.6".
|
||||
--echo #
|
||||
--disable_warnings
|
||||
drop database if exists mysqltest;
|
||||
--enable_warnings
|
||||
--echo # Backup mysql.proc.
|
||||
flush table mysql.proc;
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.frm $MYSQLTEST_VARDIR/tmp/proc.frm
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.MYD $MYSQLTEST_VARDIR/tmp/proc.MYD
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.MYI $MYSQLTEST_VARDIR/tmp/proc.MYI
|
||||
|
||||
create database mysqltest;
|
||||
--echo # Corrupt mysql.proc to make it unusable by current version of server.
|
||||
alter table mysql.proc drop column type;
|
||||
--echo # The below statement should not cause assertion failure.
|
||||
drop database mysqltest;
|
||||
|
||||
--echo # Restore mysql.proc.
|
||||
drop table mysql.proc;
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/proc.frm $MYSQLD_DATADIR/mysql/proc.frm
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/proc.MYD $MYSQLD_DATADIR/mysql/proc.MYD
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/proc.MYI $MYSQLD_DATADIR/mysql/proc.MYI
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/proc.frm
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYD
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYI
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue