summaryrefslogtreecommitdiff
path: root/mysql-test/t/type_set.test
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2004-10-26 13:17:37 +0500
committerunknown <bar@mysql.com>2004-10-26 13:17:37 +0500
commite948154c8a7c608afbc763ba6c7a7e6c710421f3 (patch)
treec80ff9014190b9709b869a36e909ec7c598358ef /mysql-test/t/type_set.test
parent2e7b38016c951d982261f24fc23ca542f7edb39b (diff)
downloadmariadb-git-e948154c8a7c608afbc763ba6c7a7e6c710421f3.tar.gz
Bug 6206: ENUMs are not case sensitive even if declared BINARY
The same problem with SET columns: find_set() now executes find_type2() to do charset aware search, instead of always using system_charset_info comparison.
Diffstat (limited to 'mysql-test/t/type_set.test')
-rw-r--r--mysql-test/t/type_set.test21
1 files changed, 21 insertions, 0 deletions
diff --git a/mysql-test/t/type_set.test b/mysql-test/t/type_set.test
index 60aa8dcfcf2..e4aeecb2c79 100644
--- a/mysql-test/t/type_set.test
+++ b/mysql-test/t/type_set.test
@@ -14,3 +14,24 @@ show create table t1;
drop table t1;
CREATE TABLE t1 ( user varchar(64) NOT NULL default '', path varchar(255) NOT NULL default '', privilege set('select','RESERVED30','RESERVED29','RESERVED28','RESERVED27','RESERVED26', 'RESERVED25','RESERVED24','data.delete','RESERVED22','RESERVED21', 'RESERVED20','data.insert.none','data.insert.approve', 'data.insert.delete','data.insert.move','data.insert.propose', 'data.insert.reject','RESERVED13','RESERVED12','RESERVED11','RESERVED10', 'RESERVED09','data.update','RESERVED07','RESERVED06','RESERVED05', 'RESERVED04','metadata.delete','metadata.put','RESERVED01','RESERVED00') NOT NULL default '', KEY user (user) ) ENGINE=MyISAM CHARSET=utf8;
DROP TABLE t1;
+
+#
+# Check that SET is case sensitive with a binary collation
+#
+set names latin1;
+create table t1 (s set ('a','A') character set latin1 collate latin1_bin);
+show create table t1;
+insert into t1 values ('a'),('a,A'),('A,a'),('A');
+select s from t1 order by s;
+drop table t1;
+
+#
+# Check that SET honors a more complex collation correctly
+#
+CREATE TABLE t1 (c set('ae','oe','ue','ss') collate latin1_german2_ci);
+INSERT INTO t1 VALUES ('ä'),('ö'),('ü'),('ß');
+INSERT INTO t1 VALUES ('ae'),('oe'),('ue'),('ss');
+INSERT INTO t1 VALUES ('ä,ö,ü,ß');
+INSERT INTO t1 VALUES ('ae,oe,ue,ss');
+SELECT c FROM t1 ORDER BY c;
+DROP TABLE t1;