~ubuntu-branches/ubuntu/karmic/mysql-dfsg-5.1/karmic

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2009-06-25 12:55:45 UTC
  • mfrom: (0.2.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: james.westby@ubuntu.com-20090625125545-v27uqh8rlsj8uh2y
Tags: upstream-5.1.34
ImportĀ upstreamĀ versionĀ 5.1.34

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
--enable_warnings
8
8
 
9
9
create table t1 (a date, b date, c date not null, d date);
10
 
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
11
 
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
 
10
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',';
 
11
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
12
12
SELECT * from t1;
13
13
truncate table t1;
14
14
 
15
 
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
 
15
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
16
16
SELECT * from t1;
17
17
drop table t1;
18
18
 
19
19
create table t1 (a text, b text);
20
 
load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
 
20
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
21
21
select concat('|',a,'|'), concat('|',b,'|') from t1;
22
22
drop table t1;
23
23
 
24
24
create table t1 (a int, b char(10));
25
 
load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
 
25
load data infile '../../std_data/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
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
29
29
 
30
30
# The empty line last comes from the end line field in the file
31
31
select * from t1;
63
63
# ENCLOSED
64
64
#
65
65
create table t1 (a varchar(20), b varchar(20));
66
 
load data infile '../std_data_ln/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
 
66
load data infile '../../std_data/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
67
67
select * from t1;
68
68
drop table t1;
69
69
 
108
108
#
109
109
create table t1 (a int default 100, b int, c varchar(60));
110
110
# we can do something like this
111
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
 
111
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
112
112
select * from t1;
113
113
truncate table t1;
114
114
# we can use filled fields in expressions 
115
115
# we also assigning NULL value to field with non-NULL default here
116
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
 
116
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
117
117
select * from t1;
118
118
truncate table t1;
119
119
# we even can use variables in set clause, and missed columns will be set
120
120
# with default values
121
121
set @c:=123;
122
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
 
122
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
123
123
select * from t1;
124
124
# let us test side-effect of such load
125
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, @b);
 
125
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, @b);
126
126
select * from t1;
127
127
select @a, @b;
128
128
truncate table t1;
129
129
# Reading of all columns with set
130
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 set c=b;
 
130
load data infile '../../std_data/rpl_loaddata.dat' into table t1 set c=b;
131
131
select * from t1;
132
132
truncate table t1;
133
133
# now going to test fixed field-row file format
134
 
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
 
134
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
135
135
select * from t1;
136
136
truncate table t1;
137
137
# this also should work
138
 
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c));
 
138
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c));
139
139
select * from t1;
140
140
# and this should bark
141
141
--error 1409 
142
 
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
 
142
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
143
143
 
144
144
# Now let us test LOAD DATA with subselect
145
145
create table t2 (num int primary key, str varchar(10));
146
146
insert into t2 values (10,'Ten'), (15,'Fifteen');
147
147
truncate table t1;
148
 
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n);
 
148
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n);
149
149
select * from t1;
150
150
 
151
151
#
163
163
# Test "load data"
164
164
truncate table t1;
165
165
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
166
 
--error 1290
 
166
--error ER_OPTION_PREVENTS_STATEMENT, ER_TEXTFILE_NOT_READABLE
167
167
eval load data infile '$MYSQL_TEST_DIR/t/loaddata.test' into table t1;
168
168
select * from t1;
169
169
 
264
264
CREATE VIEW v3 AS SELECT 1 AS d1, 2 AS d2;
265
265
 
266
266
--echo
267
 
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v1
 
267
LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v1
268
268
  FIELDS ESCAPED BY '\\'
269
269
  TERMINATED BY ','
270
270
  ENCLOSED BY '"'
280
280
DELETE FROM t1;
281
281
 
282
282
--echo
283
 
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
 
283
LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v2
284
284
  FIELDS ESCAPED BY '\\'
285
285
  TERMINATED BY ','
286
286
  ENCLOSED BY '"'
297
297
 
298
298
--echo
299
299
--error ER_LOAD_DATA_INVALID_COLUMN
300
 
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
 
300
LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v2
301
301
  FIELDS ESCAPED BY '\\'
302
302
  TERMINATED BY ','
303
303
  ENCLOSED BY '"'
305
305
 
306
306
--echo
307
307
--error ER_NON_UPDATABLE_TABLE
308
 
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v3
 
308
LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v3
309
309
  FIELDS ESCAPED BY '\\'
310
310
  TERMINATED BY ','
311
311
  ENCLOSED BY '"'
526
526
LOAD DATA INFILE 't@002d1' INTO TABLE t1;
527
527
SELECT * FROM t1;
528
528
DROP TABLE t1;
529
 
remove_file $MYSQLTEST_VARDIR/master-data/test/t@002d1;
 
529
let $MYSQLD_DATADIR= `select @@datadir`;
 
530
remove_file $MYSQLD_DATADIR/test/t@002d1;
530
531
SET character_set_filesystem=default;
531
532
select @@character_set_filesystem;
532
533