diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-05-23 11:32:35 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-05-23 11:32:35 +0500 |
commit | 0ce726d5eeb78d9e44951542d9190fe003375b16 (patch) | |
tree | e6c1f494c1ac6b5d055d2b2aadf9285729a5e36e /mysql-test | |
parent | 79decad27a7c8e8dd63ab90fe9a52ee9adc2ec9e (diff) | |
download | mariadb-git-0ce726d5eeb78d9e44951542d9190fe003375b16.tar.gz |
CREATE TABLE t1 SELECT left(_latin2'a',1) didn't work, the charset got lost
Collation and coercibility tests for string functions
mysql-test/r/func_str.result:
Collation and coercibility tests for string functions
mysql-test/t/func_str.test:
Collation and coercibility tests for string functions
sql/item_strfunc.cc:
Collation and coercibility tests for string functions
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/func_str.result | 42 | ||||
-rw-r--r-- | mysql-test/t/func_str.test | 23 |
2 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result index 0b386eaf40a..b69af17edd7 100644 --- a/mysql-test/r/func_str.result +++ b/mysql-test/r/func_str.result @@ -249,3 +249,45 @@ INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf'); SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password"); 1 DROP TABLE t1; +select collation(lcase(_latin2'a')), coercibility(lcase(_latin2'a')); +collation(lcase(_latin2'a')) coercibility(lcase(_latin2'a')) +latin2_general_ci 3 +select collation(ucase(_latin2'a')), coercibility(ucase(_latin2'a')); +collation(ucase(_latin2'a')) coercibility(ucase(_latin2'a')) +latin2_general_ci 3 +select collation(left(_latin2'a',1)), coercibility(left(_latin2'a',1)); +collation(left(_latin2'a',1)) coercibility(left(_latin2'a',1)) +latin2_general_ci 3 +select collation(right(_latin2'a',1)), coercibility(right(_latin2'a',1)); +collation(right(_latin2'a',1)) coercibility(right(_latin2'a',1)) +latin2_general_ci 3 +select collation(substring(_latin2'a',1,1)), coercibility(substring(_latin2'a',1,1)); +collation(substring(_latin2'a',1,1)) coercibility(substring(_latin2'a',1,1)) +latin2_general_ci 3 +select collation(concat(_latin2'a',_latin2'b')), coercibility(concat(_latin2'a',_latin2'b')); +collation(concat(_latin2'a',_latin2'b')) coercibility(concat(_latin2'a',_latin2'b')) +latin2_general_ci 3 +select collation(concat_ws(_latin2'a',_latin2'b')), coercibility(concat_ws(_latin2'a',_latin2'b')); +collation(concat_ws(_latin2'a',_latin2'b')) coercibility(concat_ws(_latin2'a',_latin2'b')) +latin2_general_ci 3 +create table t1 +select +left(_latin2'a',1), +right(_latin2'a',1), +lcase(_latin2'a'), +ucase(_latin2'a'), +substring(_latin2'a',1,1), +concat(_latin2'a',_latin2'b'), +concat_ws(_latin2'a',_latin2'b'); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `left(_latin2'a',1)` char(1) character set latin2 NOT NULL default '', + `right(_latin2'a',1)` char(1) character set latin2 NOT NULL default '', + `lcase(_latin2'a')` char(1) character set latin2 NOT NULL default '', + `ucase(_latin2'a')` char(1) character set latin2 NOT NULL default '', + `substring(_latin2'a',1,1)` char(1) character set latin2 NOT NULL default '', + `concat(_latin2'a',_latin2'b')` char(2) character set latin2 NOT NULL default '', + `concat_ws(_latin2'a',_latin2'b')` char(1) character set latin2 NOT NULL default '' +) TYPE=MyISAM CHARSET=latin1 +drop table t1; diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test index 96d5b17abd7..43530aa640d 100644 --- a/mysql-test/t/func_str.test +++ b/mysql-test/t/func_str.test @@ -132,3 +132,26 @@ CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id ( INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf'); SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password"); DROP TABLE t1; + +# +# Test collation and coercibility +# +select collation(lcase(_latin2'a')), coercibility(lcase(_latin2'a')); +select collation(ucase(_latin2'a')), coercibility(ucase(_latin2'a')); +select collation(left(_latin2'a',1)), coercibility(left(_latin2'a',1)); +select collation(right(_latin2'a',1)), coercibility(right(_latin2'a',1)); +select collation(substring(_latin2'a',1,1)), coercibility(substring(_latin2'a',1,1)); +select collation(concat(_latin2'a',_latin2'b')), coercibility(concat(_latin2'a',_latin2'b')); +select collation(concat_ws(_latin2'a',_latin2'b')), coercibility(concat_ws(_latin2'a',_latin2'b')); +create table t1 +select + left(_latin2'a',1), + right(_latin2'a',1), + lcase(_latin2'a'), + ucase(_latin2'a'), + substring(_latin2'a',1,1), + concat(_latin2'a',_latin2'b'), + concat_ws(_latin2'a',_latin2'b'); + +show create table t1; +drop table t1; |