mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
2fdb556e04
This patch changes the main name of 3 byte character set from utf8 to utf8mb3. New old_mode UTF8_IS_UTF8MB3 is added and set TRUE by default, so that utf8 would mean utf8mb3. If not set, utf8 would mean utf8mb4.
91 lines
2.8 KiB
Text
91 lines
2.8 KiB
Text
set names utf8;
|
|
create table t1 (a varchar(2) character set cp1250)
|
|
partition by list columns (a)
|
|
( partition p0 values in (0x81));
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varchar(2) CHARACTER SET cp1250 DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
PARTITION BY LIST COLUMNS(`a`)
|
|
(PARTITION `p0` VALUES IN (_cp1250 0x81) ENGINE = MyISAM)
|
|
drop table t1;
|
|
create table t1 (a varchar(2) character set cp1250)
|
|
partition by list columns (a)
|
|
( partition p0 values in (0x80));
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varchar(2) CHARACTER SET cp1250 DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
PARTITION BY LIST COLUMNS(`a`)
|
|
(PARTITION `p0` VALUES IN ('€') ENGINE = MyISAM)
|
|
drop table t1;
|
|
create table t1 (a varchar(1500), b varchar(1570))
|
|
partition by list columns(a,b)
|
|
( partition p0 values in (('a','b')));
|
|
ERROR HY000: The total length of the partitioning fields is too large
|
|
create table t1 (a varchar(1023) character set utf8 collate utf8_spanish2_ci)
|
|
partition by range columns(a)
|
|
( partition p0 values less than ('CZ'),
|
|
partition p1 values less than ('CH'),
|
|
partition p2 values less than ('D'));
|
|
insert into t1 values ('czz'),('chi'),('ci'),('cg');
|
|
select * from t1 where a between 'cg' AND 'ci';
|
|
a
|
|
ci
|
|
cg
|
|
drop table t1;
|
|
create table t1 (a varchar(2) character set ucs2)
|
|
partition by list columns (a)
|
|
(partition p0 values in (0x2020),
|
|
partition p1 values in (''));
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varchar(2) CHARACTER SET ucs2 DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
PARTITION BY LIST COLUMNS(`a`)
|
|
(PARTITION `p0` VALUES IN ('†') ENGINE = MyISAM,
|
|
PARTITION `p1` VALUES IN ('') ENGINE = MyISAM)
|
|
insert into t1 values ('');
|
|
insert into t1 values (_ucs2 0x2020);
|
|
drop table t1;
|
|
#
|
|
# Start of 10.3 tests
|
|
#
|
|
#
|
|
# MDEV-20855 Crash with PARTITION BY LIST and extended characters
|
|
#
|
|
SET NAMES utf8;
|
|
CREATE OR REPLACE TABLE t1 (a CHAR(10)) CHARACTER SET latin1
|
|
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN ('Б'));
|
|
ERROR HY000: This partition function is not allowed
|
|
CREATE OR REPLACE TABLE t1 (a TIME)
|
|
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN ('Б'));
|
|
ERROR HY000: This partition function is not allowed
|
|
#
|
|
# End of 10.3 tests
|
|
#
|
|
#
|
|
# Start of 10.5 tests
|
|
#
|
|
#
|
|
# MDEV-20856 Bad values in metadata views for partitions on VARBINARY
|
|
#
|
|
CREATE TABLE t1 (a VARBINARY(10)) CHARACTER SET utf8
|
|
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN (0xFF));
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varbinary(10) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
|
|
PARTITION BY LIST COLUMNS(`a`)
|
|
(PARTITION `p0` VALUES IN (_binary 0xff) ENGINE = MyISAM)
|
|
SELECT PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='t1';
|
|
PARTITION_DESCRIPTION
|
|
_binary 0xff
|
|
DROP TABLE t1;
|
|
#
|
|
# End of 10.5 tests
|
|
#
|