2
DROP TABLE IF EXISTS t1, t2;
6
--echo # Bug#31663 FIELDS TERMINATED BY special character
9
CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256));
10
INSERT INTO t1 VALUES (101, 202, '-r-', '=raker=');
13
--let $clauses=FIELDS TERMINATED BY 'raker'
14
--echo # $clauses, warning:
16
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
17
--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
18
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
19
--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
20
--eval CREATE TABLE t2 SELECT $fields FROM t1
21
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
22
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
23
--eval SELECT $fields FROM t2
24
--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
28
--let $clauses=FIELDS TERMINATED BY 'r'
29
--echo # Only numeric fields, $clauses, no warnings:
31
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
32
--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
33
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
34
--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
35
--eval CREATE TABLE t2 SELECT $fields FROM t1
36
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
37
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
38
--eval SELECT $fields FROM t2
39
--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
43
--let $clauses=FIELDS TERMINATED BY '0'
44
--echo # $clauses, warning:
46
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
47
--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
48
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
49
--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
50
--eval CREATE TABLE t2 SELECT $fields FROM t1
51
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
52
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
53
--eval SELECT $fields FROM t2
54
--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
58
--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
59
--echo # $clauses, warning:
61
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
62
--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
63
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
64
--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
65
--eval CREATE TABLE t2 SELECT $fields FROM t1
66
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
67
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
68
--eval SELECT $fields FROM t2
69
--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
73
--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
74
--echo # Only string fields, $clauses, no warnings:
76
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
77
--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
78
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
79
--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
80
--eval CREATE TABLE t2 SELECT $fields FROM t1
81
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
82
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
83
--eval SELECT $fields FROM t2
84
--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
90
--echo # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
93
CREATE TABLE t1 (c1 VARCHAR(256));
94
INSERT INTO t1 VALUES (0xC3);
95
SELECT HEX(c1) FROM t1;
97
--let $file=$MYSQLTEST_VARDIR/tmp/bug32533.txt
99
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
100
--eval SELECT * INTO OUTFILE '$file' FIELDS ENCLOSED BY 0xC3 FROM t1
103
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
104
--eval SELECT HEX(LOAD_FILE('$file'))
106
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
107
--eval LOAD DATA INFILE '$file' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3
108
SELECT HEX(c1) FROM t1;
113
--echo # End of 5.0 tests.
115
###########################################################################
118
--echo # Bug #30946: mysqldump silently ignores --default-character-set
119
--echo # when used with --tab
121
--echo # Also see mysqldump.test
125
CREATE TABLE t1 (a INT, b CHAR(10) CHARSET koi8r, c CHAR(10) CHARSET latin1);
126
CREATE TABLE t2 LIKE t1;
127
INSERT INTO t1 VALUES (1, 'ABC-АБВ', 'DEF-ÂÃÄ'), (2, NULL, NULL);
129
--let $file=$MYSQLTEST_VARDIR/tmp/t1.txt
132
--echo # Error on multi-character ENCLOSED/ESCAPED BY
134
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
136
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ENCLOSED BY '12345'
139
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
141
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ESCAPED BY '12345'
145
--echo # "Not implemented" warning on multibyte ENCLOSED/ESCAPED BY character,
146
--echo # LOAD DATA rises error or has unpredictable result -- to be fixed later
148
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
149
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ENCLOSED BY 'ъ'
150
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
151
--error 1083 # backward compatibility
152
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS ENCLOSED BY 'ъ'
155
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
156
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ESCAPED BY 'ъ'
157
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
158
--error 1083 # backward compatibility
159
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS ESCAPED BY 'ъ'
162
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
163
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS TERMINATED BY 'ъ'
164
--echo ##################################################
166
--echo ##################################################
168
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
169
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ъ'
171
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
173
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
174
--eval SELECT * FROM t1 INTO OUTFILE '$file' LINES STARTING BY 'ъ'
175
--echo ##################################################
177
--echo ##################################################
179
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
180
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES STARTING BY 'ъ'
182
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
184
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
185
--eval SELECT * FROM t1 INTO OUTFILE '$file' LINES TERMINATED BY 'ъ'
186
--echo ##################################################
188
--echo ##################################################
190
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
191
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ъ'
193
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
195
--echo # Default (binary) charset:
197
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
198
--eval SELECT * INTO OUTFILE '$file' FROM t1
199
--echo ##################################################
201
--echo ##################################################
203
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
204
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary
206
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
209
--echo # latin1 charset (INTO OUTFILE warning is expected):
211
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
212
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET latin1 FROM t1
213
--echo ##################################################
215
--echo ##################################################
217
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
218
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET latin1
220
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
223
--echo # KOI8-R charset (INTO OUTFILE warning is expected):
225
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
226
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET koi8r FROM t1
227
--echo ##################################################
229
--echo ##################################################
231
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
232
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET koi8r
234
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
237
--echo # UTF-8 charset:
239
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
240
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET utf8 FROM t1
241
--echo ##################################################
243
--echo ##################################################
245
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
246
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET utf8
248
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
255
###########################################################################
256
--echo # End of 5.1 tests.