~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
drop table if exists t1, t2;
2
create table t1 (a date, b date, c date not null, d date);
3
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
4
Warnings:
5
Warning	1265	Data truncated for column 'a' at row 1
6
Warning	1265	Data truncated for column 'c' at row 1
7
Warning	1265	Data truncated for column 'd' at row 1
8
Warning	1265	Data truncated for column 'a' at row 2
9
Warning	1265	Data truncated for column 'b' at row 2
10
Warning	1265	Data truncated for column 'd' at row 2
11
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
12
SELECT * from t1;
13
a	b	c	d
14
0000-00-00	NULL	0000-00-00	0000-00-00
15
0000-00-00	0000-00-00	0000-00-00	0000-00-00
16
2003-03-03	2003-03-03	2003-03-03	NULL
17
2003-03-03	2003-03-03	2003-03-03	NULL
18
truncate table t1;
19
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
20
Warnings:
21
Warning	1265	Data truncated for column 'c' at row 1
22
Warning	1265	Data truncated for column 'd' at row 1
23
Warning	1265	Data truncated for column 'b' at row 2
24
Warning	1265	Data truncated for column 'd' at row 2
25
SELECT * from t1;
26
a	b	c	d
27
NULL	NULL	0000-00-00	0000-00-00
28
NULL	0000-00-00	0000-00-00	0000-00-00
29
NULL	2003-03-03	2003-03-03	NULL
30
drop table t1;
31
create table t1 (a text, b text);
32
load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
33
Warnings:
34
Warning	1261	Row 3 doesn't contain data for all columns
35
select concat('|',a,'|'), concat('|',b,'|') from t1;
36
concat('|',a,'|')	concat('|',b,'|')
37
|Field A|	|Field B|
38
|Field 1|	|Field 2' 
39
Field 3,'Field 4|
40
|Field 5' ,'Field 6|	NULL
41
|Field 6|	| 'Field 7'|
42
drop table t1;
43
create table t1 (a int, b char(10));
44
load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
45
Warnings:
46
Warning	1366	Incorrect integer value: 'error      ' for column 'a' at row 3
47
Warning	1262	Row 3 was truncated; it contained more data than there were input columns
48
Warning	1366	Incorrect integer value: 'wrong end  ' for column 'a' at row 5
49
Warning	1262	Row 5 was truncated; it contained more data than there were input columns
50
select * from t1;
51
a	b
52
1	row 1
53
2	row 2
54
0	1234567890
55
3	row 3
56
0	1234567890
57
truncate table t1;
58
load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
59
Warnings:
60
Warning	1366	Incorrect integer value: '
61
' for column 'a' at row 4
62
Warning	1261	Row 4 doesn't contain data for all columns
63
select * from t1;
64
a	b
65
1	row 1
66
2	row 2
67
3	row 3
68
0	
69
drop table t1;
70
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
71
create table t1(id integer not null auto_increment primary key);
72
insert into t1 values(0);
73
select * from t1;
74
id
75
0
76
select * from t1;
77
id
78
0
79
SET @@SQL_MODE=@OLD_SQL_MODE;
80
drop table t1;
81
create table t1 (a varchar(20), b varchar(20));
82
load data infile '../std_data_ln/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
83
select * from t1;
84
a	b
85
field1	field2
86
a"b	cd"ef
87
a"b	c"d"e
88
drop table t1;
89
CREATE TABLE t1 (
90
id INT AUTO_INCREMENT PRIMARY KEY,
91
c1 VARCHAR(255)
92
);
93
CREATE TABLE t2 (
94
id INT,
95
c2 VARCHAR(255)
96
);
97
INSERT INTO t1 (c1) VALUES
98
('r'),   ('rr'),   ('rrr'),   ('rrrr'),
99
('.r'),  ('.rr'),  ('.rrr'),  ('.rrrr'),
100
('r.'),  ('rr.'),  ('rrr.'),  ('rrrr.'),
101
('.r.'), ('.rr.'), ('.rrr.'), ('.rrrr.');
102
SELECT * FROM t1;
103
id	c1
104
1	r
105
2	rr
106
3	rrr
107
4	rrrr
108
5	.r
109
6	.rr
110
7	.rrr
111
8	.rrrr
112
9	r.
113
10	rr.
114
11	rrr.
115
12	rrrr.
116
13	.r.
117
14	.rr.
118
15	.rrr.
119
16	.rrrr.
120
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY 'r' FROM t1;
121
r1r	rrrr
122
r2r	rrrrrr
123
r3r	rrrrrrrr
124
r4r	rrrrrrrrrr
125
r5r	r.rrr
126
r6r	r.rrrrr
127
r7r	r.rrrrrrr
128
r8r	r.rrrrrrrrr
129
r9r	rrr.r
130
r10r	rrrrr.r
131
r11r	rrrrrrr.r
132
r12r	rrrrrrrrr.r
133
r13r	r.rr.r
134
r14r	r.rrrr.r
135
r15r	r.rrrrrr.r
136
r16r	r.rrrrrrrr.r
137
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t2 FIELDS ENCLOSED BY 'r';
138
SELECT t1.id, c1, c2 FROM t1 LEFT  JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
139
id	c1	c2
140
SELECT t1.id, c1, c2 FROM t1 RIGHT JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
141
id	c1	c2
142
DROP TABLE t1,t2;
143
create table t1 (a int default 100, b int, c varchar(60));
144
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
145
select * from t1;
146
a	b	c
147
NULL	20	b=10
148
NULL	25	b=15
149
truncate table t1;
150
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
151
select * from t1;
152
a	b	c
153
NULL	NULL	oops
154
NULL	NULL	oops
155
truncate table t1;
156
set @c:=123;
157
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
158
select * from t1;
159
a	b	c
160
100	10	123
161
100	15	123
162
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, @b);
163
select * from t1;
164
a	b	c
165
100	10	123
166
100	15	123
167
100	NULL	NULL
168
100	NULL	NULL
169
select @a, @b;
170
@a	@b
171
NULL	15
172
truncate table t1;
173
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 set c=b;
174
Warnings:
175
Warning	1261	Row 1 doesn't contain data for all columns
176
Warning	1261	Row 2 doesn't contain data for all columns
177
select * from t1;
178
a	b	c
179
NULL	10	10
180
NULL	15	15
181
truncate table t1;
182
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
183
select * from t1;
184
a	b	c
185
1	2	Wow
186
3	4	Wow
187
5	6	Wow
188
truncate table t1;
189
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));
190
select * from t1;
191
a	b	c
192
1	2	1+2+123+2+NIL
193
3	4	3+4+123+4+NIL
194
5	6	5+6+123+6+NIL
195
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
196
ERROR HY000: Can't load value from file with fixed size rows to variable
197
create table t2 (num int primary key, str varchar(10));
198
insert into t2 values (10,'Ten'), (15,'Fifteen');
199
truncate table t1;
200
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);
201
select * from t1;
202
a	b	c
203
10	NULL	Ten
204
15	NULL	Fifteen
205
show variables like "secure_file_pri%";
206
Variable_name	Value
207
secure_file_priv	MYSQLTEST_VARDIR/
208
select @@secure_file_priv;
209
@@secure_file_priv
210
MYSQLTEST_VARDIR/
211
set @@secure_file_priv= 0;
212
ERROR HY000: Variable 'secure_file_priv' is a read only variable
213
truncate table t1;
214
load data infile 'MYSQL_TEST_DIR/t/loaddata.test' into table t1;
215
ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
216
select * from t1;
217
a	b	c
218
select load_file("MYSQL_TEST_DIR/t/loaddata.test");
219
load_file("MYSQL_TEST_DIR/t/loaddata.test")
220
NULL
221
drop table t1, t2;
222
create table t1(f1 int);
223
insert into t1 values(1),(null);
224
create table t2(f2 int auto_increment primary key);
225
select * from t2;
226
f2
227
1
228
2
229
SET @@SQL_MODE=@OLD_SQL_MODE;
230
drop table t1,t2;
231
create table t1(f1 int, f2 timestamp not null default current_timestamp);
232
create table t2(f1 int);
233
insert into t2 values(1),(2);
234
Warnings:
235
Warning	1261	Row 1 doesn't contain data for all columns
236
Warning	1261	Row 2 doesn't contain data for all columns
237
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
238
f1
239
1
240
2
241
delete from t1;
242
Warnings:
243
Warning	1261	Row 1 doesn't contain data for all columns
244
Warning	1261	Row 2 doesn't contain data for all columns
245
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
246
f1
247
1
248
2
249
drop table t1,t2;
250
CREATE TABLE t1 (c1 INT, c2 TIMESTAMP, c3 REAL, c4 DOUBLE);
251
INSERT INTO t1 (c1, c2, c3, c4) VALUES (10, '1970-02-01 01:02:03', 1.1E-100, 1.1E+100);
252
SELECT * FROM t1;
253
c1	c2	c3	c4
254
10	1970-02-01 01:02:03	1.1e-100	1.1e100
255
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY '-' FROM t1;
256
-10-	-1970\-02\-01 01:02:03-	-1.1e\-100-	-1.1e100-
257
EOF
258
TRUNCATE t1;
259
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t1 FIELDS ENCLOSED BY '-';
260
SELECT * FROM t1;
261
c1	c2	c3	c4
262
10	1970-02-01 01:02:03	1.1e-100	1.1e100
263
DROP TABLE t1;
264
265
# --
266
# -- Bug#35469: server crash with LOAD DATA INFILE to a VIEW.
267
# --
268
269
DROP TABLE IF EXISTS t1;
270
DROP VIEW IF EXISTS v1;
271
DROP VIEW IF EXISTS v2;
272
DROP VIEW IF EXISTS v3;
273
274
CREATE TABLE t1(c1 INT, c2 VARCHAR(255));
275
276
CREATE VIEW v1 AS SELECT * FROM t1;
277
CREATE VIEW v2 AS SELECT 1 + 2 AS c0, c1, c2 FROM t1;
278
CREATE VIEW v3 AS SELECT 1 AS d1, 2 AS d2;
279
280
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v1
281
FIELDS ESCAPED BY '\\'
282
  TERMINATED BY ','
283
  ENCLOSED BY '"'
284
  LINES TERMINATED BY '\n' (c1, c2);
285
286
SELECT * FROM t1;
287
c1	c2
288
1	 "string1"
289
2	 "string2"
290
3	 "string3"
291
292
SELECT * FROM v1;
293
c1	c2
294
1	 "string1"
295
2	 "string2"
296
3	 "string3"
297
298
DELETE FROM t1;
299
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' (c1, c2);
305
306
SELECT * FROM t1;
307
c1	c2
308
1	 "string1"
309
2	 "string2"
310
3	 "string3"
311
312
SELECT * FROM v2;
313
c0	c1	c2
314
3	1	 "string1"
315
3	2	 "string2"
316
3	3	 "string3"
317
318
DELETE FROM t1;
319
320
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
321
FIELDS ESCAPED BY '\\'
322
  TERMINATED BY ','
323
  ENCLOSED BY '"'
324
  LINES TERMINATED BY '\n' (c0, c2);
325
ERROR HY000: Invalid column reference (v2.c0) in LOAD DATA
326
327
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v3
328
FIELDS ESCAPED BY '\\'
329
  TERMINATED BY ','
330
  ENCLOSED BY '"'
331
  LINES TERMINATED BY '\n' (d1, d2);
332
ERROR HY000: The target table v3 of the LOAD is not updatable
333
334
DROP TABLE t1;
335
DROP VIEW v1;
336
DROP VIEW v2;
337
DROP VIEW v3;
338
339
# -- End of Bug#35469.
340
CREATE TABLE t1 (a int);
341
INSERT INTO t1 VALUES (1);
342
SET NAMES latin1;
343
SET character_set_filesystem=filename;
344
select @@character_set_filesystem;
345
@@character_set_filesystem
346
filename
347
SELECT * INTO OUTFILE 't-1' FROM t1;
348
DELETE FROM t1;
349
LOAD DATA INFILE 't-1' INTO TABLE t1;
350
SELECT * FROM t1;
351
a
352
1
353
DELETE FROM t1;
354
SET character_set_filesystem=latin1;
355
select @@character_set_filesystem;
356
@@character_set_filesystem
357
latin1
358
LOAD DATA INFILE 't@002d1' INTO TABLE t1;
359
SELECT * FROM t1;
360
a
361
1
362
DROP TABLE t1;
363
SET character_set_filesystem=default;
364
select @@character_set_filesystem;
365
@@character_set_filesystem
366
binary