diff options
author | bar@bar.intranet.mysql.r18.ru <> | 2003-12-31 19:01:03 +0400 |
---|---|---|
committer | bar@bar.intranet.mysql.r18.ru <> | 2003-12-31 19:01:03 +0400 |
commit | 39559d4817d27fbeaf85196d2129bed8b9a00f2d (patch) | |
tree | e280e54de77e3fedacdfd9b4cf5c675c711d50ec /mysql-test/t/user_var.test | |
parent | 934f08c5d1088f133e174682091fa9c60e6d83ec (diff) | |
download | mariadb-git-39559d4817d27fbeaf85196d2129bed8b9a00f2d.tar.gz |
#2244 User variables collation conflict is not detected
Diffstat (limited to 'mysql-test/t/user_var.test')
-rw-r--r-- | mysql-test/t/user_var.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test index 39742d20c7c..32ed6fe33db 100644 --- a/mysql-test/t/user_var.test +++ b/mysql-test/t/user_var.test @@ -71,3 +71,31 @@ select @a:=0; select @a, @a:=@a+count(*), count(*), @a from t1 group by i; select @a:=0; select @a+0, @a:=@a+0+count(*), count(*), @a+0 from t1 group by i; drop table t1; +# +# Bug #2244: User variables didn't copy collation and derivation +# attributes from values they were initialized to. +# + +set @a=_latin2'test'; +select charset(@a),collation(@a),coercibility(@a); +select @a=_latin2'TEST'; +select @a=_latin2'TEST' collate latin2_bin; + +set @a=_latin2'test' collate latin2_general_ci; +select charset(@a),collation(@a),coercibility(@a); +select @a=_latin2'TEST'; +--error 1266 +select @a=_latin2'TEST' collate latin2_bin; + +# +# Check the same invoking Item_set_user_var +# +select charset(@a:=_latin2'test'); +select collation(@a:=_latin2'test'); +select coercibility(@a:=_latin2'test'); +select collation(@a:=_latin2'test' collate latin2_bin); +select coercibility(@a:=_latin2'test' collate latin2_bin); +select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST'; +select charset(@a),collation(@a),coercibility(@a); +--error 1266 +select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST' collate latin2_general_ci; |