mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge branch '10.5' into 10.6
This commit is contained in:
@ -58,11 +58,6 @@ DROP TABLE t1;
|
||||
|
||||
# CHAR
|
||||
|
||||
# MyISAM is buggy on CHAR+BTREE+UNIQUE+PREFIX (see MDEV-30048), disable for now
|
||||
# Other engines work fine
|
||||
|
||||
if (`SELECT UPPER(@@storage_engine) != 'MYISAM'`)
|
||||
{
|
||||
EXECUTE IMMEDIATE REPLACE(
|
||||
'CREATE TABLE t1 ( '
|
||||
' a CHAR(20) COLLATE <COLLATION>,'
|
||||
@ -72,7 +67,6 @@ SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss ');
|
||||
INSERT INTO t1 VALUES (_utf8mb3 0xC39F20)/*SZ+SPACE*/;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
EXECUTE IMMEDIATE REPLACE(
|
||||
'CREATE TABLE t1 ( '
|
||||
|
54
mysql-test/include/ctype_utf8mb3_uca_char.inc
Normal file
54
mysql-test/include/ctype_utf8mb3_uca_char.inc
Normal file
@ -0,0 +1,54 @@
|
||||
--echo #
|
||||
--echo # MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3;
|
||||
|
||||
#
|
||||
# Engines have different conditions based on the column size
|
||||
# determining when to use trailing space compressions in key values,
|
||||
# so let's test different column sizes for better coverage.
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# CHAR(10)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a));
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss'),('ß');
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a CHAR(10) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(2)));
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss'),('ß');
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# CHAR(120)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a));
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss'),('ß');
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a CHAR(120) COLLATE utf8mb3_unicode_nopad_ci, UNIQUE KEY(a(100)));
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss'),('ß');
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30050 Inconsistent results of DISTINCT with NOPAD
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (c CHAR(100) COLLATE utf8mb3_unicode_nopad_ci);
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 VALUES ('ss'),('ß');
|
||||
SET big_tables=0;
|
||||
SELECT DISTINCT c FROM t1;
|
||||
SET big_tables=1;
|
||||
SELECT DISTINCT c FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET big_tables=DEFAULT;
|
@ -1,6 +1,8 @@
|
||||
SET SESSION character_set_connection=latin2;
|
||||
SET SESSION character_set_client=cp1250;
|
||||
|
||||
--disable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # Test litteral
|
||||
--echo #
|
||||
@ -129,3 +131,5 @@ EXPLAIN EXTENDED SELECT '';
|
||||
EXPLAIN EXTENDED SELECT _latin1'';
|
||||
EXPLAIN EXTENDED SELECT N'';
|
||||
EXPLAIN EXTENDED SELECT '' '';
|
||||
|
||||
--enable_service_connection
|
||||
|
@ -162,7 +162,7 @@ INSERT INTO t1 VALUES
|
||||
--echo
|
||||
--echo # Execute select with invalid timestamp, desc ordering
|
||||
SELECT *
|
||||
FROM t1
|
||||
FROM t1 FORCE INDEX(PRIMARY)
|
||||
WHERE ts BETWEEN '0000-00-00' AND '2010-00-01 00:00:00'
|
||||
ORDER BY ts DESC
|
||||
LIMIT 2;
|
||||
@ -171,7 +171,7 @@ LIMIT 2;
|
||||
--echo # Should use index condition
|
||||
EXPLAIN
|
||||
SELECT *
|
||||
FROM t1
|
||||
FROM t1 FORCE INDEX(PRIMARY)
|
||||
WHERE ts BETWEEN '0000-00-00' AND '2010-00-01 00:00:00'
|
||||
ORDER BY ts DESC
|
||||
LIMIT 2;
|
||||
@ -458,6 +458,7 @@ INSERT INTO t2 VALUES (11,1);
|
||||
INSERT INTO t2 VALUES (12,2);
|
||||
INSERT INTO t2 VALUES (15,4);
|
||||
|
||||
analyze table t1,t2 persistent for all;
|
||||
set @save_optimizer_switch= @@optimizer_switch;
|
||||
set optimizer_switch='semijoin=off';
|
||||
|
||||
@ -730,6 +731,7 @@ INSERT INTO t2 VALUES
|
||||
('Ill'), ('eckqzsflbzaffti'), ('w'), ('she'), ('gxbwypqtjzwywwer'), ('w');
|
||||
insert into t2 select seq from seq_1_to_100;
|
||||
|
||||
analyze table t1,t2 persistent for all;
|
||||
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||
--replace_column 9 #
|
||||
EXPLAIN
|
||||
|
Reference in New Issue
Block a user