1SET SESSION character_set_connection=latin2; 2SET SESSION character_set_client=cp1250; 3 4--echo # 5--echo # Test litteral 6--echo # 7SET sql_mode=@mode; 8select @@sql_mode; 9SELECT '',CHARSET(''), null, CHARSET(null), CAST(null as char(10)), CHARSET(CAST(null as char(10))), 'x', CHARSET('x'); 10SELECT CHARSET(NULLIF('','')),NULLIF('',''); 11SET sql_mode=default; 12SELECT '',CHARSET(''), null, CHARSET(null), CAST(null as char(10)), CHARSET(CAST(null as char(10))), 'x', CHARSET('x'); 13SELECT CHARSET(NULLIF('','')),NULLIF('',''); 14 15--echo # 16--echo # Test NCHAR litteral 17--echo # 18SET sql_mode=@mode; 19SELECT N'',CHARSET(N''), N'x', CHARSET(N'x'); 20SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N''); 21SET sql_mode=default; 22SELECT N'',CHARSET(N''), N'x', CHARSET(N'x'); 23SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N''); 24 25--echo # 26--echo # Test CHARSET prefix litteral 27--echo # 28SET sql_mode=@mode; 29SELECT _cp1250 '',CHARSET(_cp1250 ''), _cp1250 'x', CHARSET(_cp1250 'x'); 30SELECT CHARSET(NULLIF(_cp1250 '',_cp1250 '')),NULLIF(_cp1250 '',_cp1250 ''); 31SET sql_mode=default; 32SELECT _cp1250 '',CHARSET(_cp1250 ''), _cp1250 'x', CHARSET(_cp1250 'x'); 33SELECT CHARSET(NULLIF(_cp1250 '',_cp1250 '')),NULLIF(_cp1250 '',_cp1250 ''); 34 35 36SET sql_mode=@mode; 37 38--echo # 39--echo # Test litteral concat 40--echo # 41SELECT 'a' 'b'; 42SELECT 'a' ''; 43SELECT '' 'b'; 44SELECT '' ''; 45SELECT '' 'b' 'c'; 46SELECT '' '' 'c'; 47SELECT 'a' '' 'c'; 48SELECT 'a' '' ''; 49SELECT '' '' ''; 50 51SELECT '' '' '',CHARSET('' '' ''); 52SELECT _latin1'' '' '',CHARSET(_latin1'' '' ''); 53SELECT N'' '' '',CHARSET(N'' '' ''); 54 55--echo # 56--echo # UNION - implicit group by 57--echo # 58SELECT 1, null 59UNION 60SELECT 1 , '' 61ORDER BY 1; 62 63SELECT 1, null 64UNION 65SELECT 1 , N'' 66ORDER BY 1; 67 68SELECT 1, null 69UNION 70SELECT 1 , _cp1250 '' 71ORDER BY 1; 72 73SELECT NULLIF(_cp1250 '',_cp1250 '') 74UNION 75SELECT NULLIF(N'',N''); 76 77--error ER_CANT_AGGREGATE_2COLLATIONS 78SELECT 1 , _latin2 '' 79UNION 80SELECT 1 , _cp1250 ''; 81 82SELECT 1, null 83UNION 84SELECT 1 , '' 85UNION 86SELECT 1 , N''; 87 88CREATE TABLE t1 (c1 INT,c2 VARCHAR(10)); 89INSERT INTO t1 VALUES (1,'one'); 90INSERT INTO t1 VALUES (1,''); 91INSERT INTO t1 VALUES (1,null); 92 93--echo # 94--echo # Test in a view 95--echo # 96CREATE VIEW v1 97 AS SELECT c1, c2 98 FROM t1 99 UNION 100 SELECT c1 , '' 101 FROM t1 102 ORDER BY 1,2; 103SELECT * FROM v1; 104 105SHOW CREATE VIEW v1; 106 107DROP VIEW v1; 108DROP TABLE t1; 109 110EXPLAIN EXTENDED SELECT ''; 111EXPLAIN EXTENDED SELECT _latin1''; 112EXPLAIN EXTENDED SELECT N''; 113EXPLAIN EXTENDED SELECT '' ''; 114