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