mirror of
https://github.com/MariaDB/server.git
synced 2025-08-30 11:22:14 +03:00
COLLATE tests
This commit is contained in:
115
mysql-test/t/ctype_collate.test
Normal file
115
mysql-test/t/ctype_collate.test
Normal file
@@ -0,0 +1,115 @@
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1 (
|
||||
latin1_f CHAR(32) CHARACTER SET latin1 NOT NULL
|
||||
);
|
||||
|
||||
--error 1251
|
||||
CREATE TABLE t2 (
|
||||
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE koi8r NOT NULL
|
||||
);
|
||||
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'A');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'a');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'AD');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'ad');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'AE');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'ae');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'AF');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'af');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'B');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'b');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'U');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'u');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'UE');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'ue');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'SS');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'ss');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'<27>');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'Y');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'y');
|
||||
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'Z');
|
||||
INSERT INTO t1 (latin1_f) VALUES (_latin1'z');
|
||||
|
||||
|
||||
-- ORDER BY
|
||||
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f;
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1;
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_de;
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_ci_as;
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_bin;
|
||||
--error 1251
|
||||
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE koi8r;
|
||||
|
||||
--SELECT latin1_f COLLATE koi8r FROM t1 ;
|
||||
|
||||
-- AS + ORDER BY
|
||||
SELECT latin1_f COLLATE latin1 AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
|
||||
SELECT latin1_f COLLATE latin1_de AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
|
||||
SELECT latin1_f COLLATE latin1_ci_as AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
|
||||
SELECT latin1_f COLLATE latin1_bin AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
|
||||
--error 1251
|
||||
SELECT latin1_f COLLATE koi8r AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
|
||||
|
||||
|
||||
-- GROUP BY
|
||||
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f;
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1;
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_de;
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_ci_as;
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_bin;
|
||||
--error 1251
|
||||
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE koi8r;
|
||||
|
||||
|
||||
-- DISTINCT
|
||||
|
||||
SELECT DISTINCT latin1_f FROM t1;
|
||||
SELECT DISTINCT latin1_f COLLATE latin1 FROM t1;
|
||||
SELECT DISTINCT latin1_f COLLATE latin1_de FROM t1;
|
||||
SELECT DISTINCT latin1_f COLLATE latin1_ci_as FROM t1;
|
||||
SELECT DISTINCT latin1_f COLLATE latin1_bin FROM t1;
|
||||
--error 1251
|
||||
SELECT DISTINCT latin1_f COLLATE koi8r FROM t1;
|
||||
|
||||
|
||||
-- Aggregates
|
||||
--SELECT MAX(k COLLATE latin1_de)
|
||||
--FROM t1
|
||||
|
||||
|
||||
-- WHERE
|
||||
--SELECT *
|
||||
--FROM t1
|
||||
--WHERE (_latin1'Mu"ller' COLLATE latin1_de) = k
|
||||
|
||||
--HAVING
|
||||
--SELECT *
|
||||
--FROM t1
|
||||
--HAVING (_latin1'Mu"ller' COLLATE latin1_de) = k
|
||||
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user