~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/loaddata.test

Cleanup around SAFEMALLOC

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
26
26
select * from t1;
27
27
truncate table t1;
 
28
load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
28
29
 
29
30
# The empty line last comes from the end line field in the file
30
31
select * from t1;
31
32
drop table t1;
32
33
 
33
34
#
 
35
# Bug #12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
 
36
#
 
37
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
 
38
create table t1(id integer not null auto_increment primary key);
 
39
insert into t1 values(0);
 
40
disable_query_log;
 
41
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1' from t1;
 
42
delete from t1;
 
43
eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1;
 
44
enable_query_log;
 
45
select * from t1;
 
46
remove_file $MYSQLTEST_VARDIR/tmp/t1;
 
47
 
 
48
disable_query_log;
 
49
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1'
 
50
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n'
 
51
FROM t1;
 
52
delete from t1;
 
53
eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1
 
54
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n';
 
55
enable_query_log;
 
56
select * from t1;
 
57
remove_file $MYSQLTEST_VARDIR/tmp/t1;
 
58
SET @@SQL_MODE=@OLD_SQL_MODE;
 
59
drop table t1;
 
60
 
 
61
#
34
62
# Bug #11203: LOAD DATA does not accept same characters for ESCAPED and
35
63
# ENCLOSED
36
64
#
98
126
select * from t1;
99
127
select @a, @b;
100
128
truncate table t1;
 
129
# Reading of all columns with set
 
130
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 set c=b;
 
131
select * from t1;
 
132
truncate table t1;
101
133
# now going to test fixed field-row file format
102
134
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
103
135
select * from t1;
143
175
drop table t1, t2;
144
176
 
145
177
#
 
178
# Bug#27586: Wrong autoinc value assigned by LOAD DATA in the
 
179
#            NO_AUTO_VALUE_ON_ZERO mode
 
180
#
 
181
create table t1(f1 int);
 
182
insert into t1 values(1),(null);
 
183
create table t2(f2 int auto_increment primary key);
 
184
disable_query_log;
 
185
eval select * into outfile '$MYSQLTEST_VARDIR/tmp/t1' from t1;
 
186
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
 
187
eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t2;
 
188
enable_query_log;
 
189
select * from t2;
 
190
remove_file $MYSQLTEST_VARDIR/tmp/t1;
 
191
SET @@SQL_MODE=@OLD_SQL_MODE;
 
192
drop table t1,t2;
 
193
 
 
194
#
146
195
# Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
147
196
#            TIMESTAMP field when no value has been provided.
148
197
#
151
200
insert into t2 values(1),(2);
152
201
disable_query_log;
153
202
eval select * into outfile '$MYSQLTEST_VARDIR/tmp/t2' from t2;
154
 
--error 1261
155
203
eval load data infile '$MYSQLTEST_VARDIR/tmp/t2' into table t1;
156
204
enable_query_log;
157
 
select f1 from t1 where f2 IS NOT NULL order by f1;
 
205
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
158
206
remove_file $MYSQLTEST_VARDIR/tmp/t2;
159
207
delete from t1;
160
208
disable_query_log;
161
209
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t2'
162
210
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n'
163
211
FROM t2;
164
 
--error 1261
165
212
eval load data infile '$MYSQLTEST_VARDIR/tmp/t2' into table t1
166
213
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n';
167
214
enable_query_log;
168
 
select f1 from t1 where f2 IS NOT NULL order by f1;
 
215
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
169
216
remove_file $MYSQLTEST_VARDIR/tmp/t2;
170
217
drop table t1,t2;
171
218
 
181
228
 
182
229
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
183
230
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY '-' FROM t1;
184
 
#cat_file $MYSQLTEST_VARDIR/tmp/t1;
 
231
cat_file $MYSQLTEST_VARDIR/tmp/t1;
185
232
echo EOF;
186
233
 
187
234
TRUNCATE t1;
192
239
 
193
240
remove_file $MYSQLTEST_VARDIR/tmp/t1;
194
241
DROP TABLE t1;
 
242
 
 
243
###########################################################################
 
244
 
 
245
--echo
 
246
--echo # --
 
247
--echo # -- Bug#35469: server crash with LOAD DATA INFILE to a VIEW.
 
248
--echo # --
 
249
 
 
250
--echo
 
251
--disable_warnings
 
252
DROP TABLE IF EXISTS t1;
 
253
DROP VIEW IF EXISTS v1;
 
254
DROP VIEW IF EXISTS v2;
 
255
DROP VIEW IF EXISTS v3;
 
256
--enable_warnings
 
257
 
 
258
--echo
 
259
CREATE TABLE t1(c1 INT, c2 VARCHAR(255));
 
260
 
 
261
--echo
 
262
CREATE VIEW v1 AS SELECT * FROM t1;
 
263
CREATE VIEW v2 AS SELECT 1 + 2 AS c0, c1, c2 FROM t1;
 
264
CREATE VIEW v3 AS SELECT 1 AS d1, 2 AS d2;
 
265
 
 
266
--echo
 
267
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v1
 
268
  FIELDS ESCAPED BY '\\'
 
269
  TERMINATED BY ','
 
270
  ENCLOSED BY '"'
 
271
  LINES TERMINATED BY '\n' (c1, c2);
 
272
 
 
273
--echo
 
274
SELECT * FROM t1;
 
275
 
 
276
--echo
 
277
SELECT * FROM v1;
 
278
 
 
279
--echo
 
280
DELETE FROM t1;
 
281
 
 
282
--echo
 
283
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
 
284
  FIELDS ESCAPED BY '\\'
 
285
  TERMINATED BY ','
 
286
  ENCLOSED BY '"'
 
287
  LINES TERMINATED BY '\n' (c1, c2);
 
288
 
 
289
--echo
 
290
SELECT * FROM t1;
 
291
 
 
292
--echo
 
293
SELECT * FROM v2;
 
294
 
 
295
--echo
 
296
DELETE FROM t1;
 
297
 
 
298
--echo
 
299
--error ER_LOAD_DATA_INVALID_COLUMN
 
300
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
 
301
  FIELDS ESCAPED BY '\\'
 
302
  TERMINATED BY ','
 
303
  ENCLOSED BY '"'
 
304
  LINES TERMINATED BY '\n' (c0, c2);
 
305
 
 
306
--echo
 
307
--error ER_NON_UPDATABLE_TABLE
 
308
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v3
 
309
  FIELDS ESCAPED BY '\\'
 
310
  TERMINATED BY ','
 
311
  ENCLOSED BY '"'
 
312
  LINES TERMINATED BY '\n' (d1, d2);
 
313
 
 
314
--echo
 
315
DROP TABLE t1;
 
316
DROP VIEW v1;
 
317
DROP VIEW v2;
 
318
DROP VIEW v3;
 
319
 
 
320
--echo
 
321
--echo # -- End of Bug#35469.
 
322
 
 
323
###########################################################################
 
324
 
 
325
# End of 5.0 tests
 
326
 
 
327
 
 
328
#
 
329
# Bug#12448 LOAD DATA / SELECT INTO OUTFILE
 
330
# doesn't work with multibyte path name
 
331
#
 
332
CREATE TABLE t1 (a int);
 
333
INSERT INTO t1 VALUES (1);
 
334
SET NAMES latin1;
 
335
SET character_set_filesystem=filename;
 
336
select @@character_set_filesystem;
 
337
SELECT * INTO OUTFILE 't-1' FROM t1;
 
338
DELETE FROM t1;
 
339
LOAD DATA INFILE 't-1' INTO TABLE t1;
 
340
SELECT * FROM t1;
 
341
DELETE FROM t1;
 
342
SET character_set_filesystem=latin1;
 
343
select @@character_set_filesystem;
 
344
LOAD DATA INFILE 't@002d1' INTO TABLE t1;
 
345
SELECT * FROM t1;
 
346
DROP TABLE t1;
 
347
remove_file $MYSQLTEST_VARDIR/master-data/test/t@002d1;
 
348
SET character_set_filesystem=default;
 
349
select @@character_set_filesystem;