~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/t/outfile_loaddata.test

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
Import upstream version 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--disable_warnings
 
2
DROP TABLE IF EXISTS t1, t2;
 
3
--enable_warnings
 
4
 
 
5
--echo #
 
6
--echo # Bug#31663 FIELDS TERMINATED BY special character
 
7
--echo #
 
8
 
 
9
CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256));
 
10
INSERT INTO t1 VALUES (101, 202, '-r-', '=raker=');
 
11
 
 
12
--let $fields=*
 
13
--let $clauses=FIELDS TERMINATED BY 'raker'
 
14
--echo # $clauses, warning:
 
15
 
 
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
 
25
DROP TABLE t2;
 
26
 
 
27
--let $fields=i1, i2
 
28
--let $clauses=FIELDS TERMINATED BY 'r'
 
29
--echo # Only numeric fields, $clauses, no warnings:
 
30
 
 
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
 
40
DROP TABLE t2;
 
41
 
 
42
--let $fields=*
 
43
--let $clauses=FIELDS TERMINATED BY '0'
 
44
--echo # $clauses, warning:
 
45
 
 
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
 
55
DROP TABLE t2;
 
56
 
 
57
--let $fields=*
 
58
--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
 
59
--echo # $clauses, warning:
 
60
 
 
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
 
70
DROP TABLE t2;
 
71
 
 
72
--let $fields=c1, c2
 
73
--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
 
74
--echo # Only string fields, $clauses, no warnings:
 
75
 
 
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
 
85
DROP TABLE t2;
 
86
 
 
87
DROP TABLE t1;
 
88
 
 
89
--echo #
 
90
--echo # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
 
91
--echo #
 
92
 
 
93
CREATE TABLE t1 (c1 VARCHAR(256));
 
94
INSERT INTO t1 VALUES (0xC3);
 
95
SELECT HEX(c1) FROM t1;
 
96
 
 
97
--let $file=$MYSQLTEST_VARDIR/tmp/bug32533.txt
 
98
 
 
99
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
100
--eval SELECT * INTO OUTFILE '$file' FIELDS ENCLOSED BY 0xC3 FROM t1
 
101
TRUNCATE t1;
 
102
 
 
103
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
104
--eval SELECT HEX(LOAD_FILE('$file'))
 
105
 
 
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;
 
109
 
 
110
--remove_file $file
 
111
DROP TABLE t1;
 
112
 
 
113
--echo # End of 5.0 tests.
 
114
 
 
115
###########################################################################
 
116
 
 
117
--echo #
 
118
--echo # Bug #30946: mysqldump silently ignores --default-character-set
 
119
--echo #             when used with --tab
 
120
--echo #
 
121
--echo # Also see mysqldump.test
 
122
--echo #
 
123
 
 
124
SET NAMES utf8;
 
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);
 
128
 
 
129
--let $file=$MYSQLTEST_VARDIR/tmp/t1.txt
 
130
 
 
131
 
 
132
--echo # Error on multi-character ENCLOSED/ESCAPED BY
 
133
 
 
134
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
135
--error 1083
 
136
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ENCLOSED BY '12345'
 
137
--remove_file $file
 
138
 
 
139
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
140
--error 1083
 
141
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ESCAPED BY '12345'
 
142
--remove_file $file
 
143
 
 
144
 
 
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
 
147
 
 
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 'ъ'
 
153
--remove_file $file
 
154
 
 
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 'ъ'
 
160
--remove_file $file
 
161
 
 
162
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
163
--eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS TERMINATED BY 'ъ'
 
164
--echo ##################################################
 
165
--cat_file $file
 
166
--echo ##################################################
 
167
TRUNCATE t2;
 
168
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
169
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ъ'
 
170
--remove_file $file
 
171
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
172
 
 
173
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
174
--eval SELECT * FROM t1 INTO OUTFILE '$file' LINES STARTING BY 'ъ'
 
175
--echo ##################################################
 
176
--cat_file $file
 
177
--echo ##################################################
 
178
TRUNCATE t2;
 
179
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
180
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES STARTING BY 'ъ'
 
181
--remove_file $file
 
182
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
183
 
 
184
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
185
--eval SELECT * FROM t1 INTO OUTFILE '$file' LINES TERMINATED BY 'ъ'
 
186
--echo ##################################################
 
187
--cat_file $file
 
188
--echo ##################################################
 
189
TRUNCATE t2;
 
190
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
191
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ъ'
 
192
--remove_file $file
 
193
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
194
 
 
195
--echo # Default (binary) charset:
 
196
 
 
197
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
198
--eval SELECT * INTO OUTFILE '$file' FROM t1
 
199
--echo ##################################################
 
200
--cat_file $file
 
201
--echo ##################################################
 
202
TRUNCATE t2;
 
203
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
204
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary
 
205
--remove_file $file
 
206
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
207
 
 
208
 
 
209
--echo # latin1 charset (INTO OUTFILE warning is expected):
 
210
 
 
211
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
212
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET latin1 FROM t1
 
213
--echo ##################################################
 
214
--cat_file $file
 
215
--echo ##################################################
 
216
TRUNCATE t2;
 
217
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
218
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET latin1 
 
219
--remove_file $file
 
220
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
221
 
 
222
 
 
223
--echo # KOI8-R charset (INTO OUTFILE warning is expected):
 
224
 
 
225
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
226
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET koi8r FROM t1
 
227
--echo ##################################################
 
228
--cat_file $file
 
229
--echo ##################################################
 
230
TRUNCATE t2;
 
231
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
232
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET koi8r
 
233
--remove_file $file
 
234
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
235
 
 
236
 
 
237
--echo # UTF-8 charset:
 
238
 
 
239
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
240
--eval SELECT * INTO OUTFILE '$file' CHARACTER SET utf8 FROM t1
 
241
--echo ##################################################
 
242
--cat_file $file
 
243
--echo ##################################################
 
244
TRUNCATE t2;
 
245
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 
246
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET utf8
 
247
--remove_file $file
 
248
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 
249
 
 
250
 
 
251
SET NAMES default;
 
252
 
 
253
DROP TABLE t1, t2;
 
254
 
 
255
###########################################################################
 
256
--echo # End of 5.1 tests.