~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/outfile.test

  • Committer: Andy Lester
  • Date: 2008-08-09 05:23:39 UTC
  • mto: (266.1.29 use-replace-funcs)
  • mto: This revision was merged to the branch mainline in revision 287.
  • Revision ID: andy@petdance.com-20080809052339-iafoesszmesweq6b
use NULL, not 0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
disable_query_log;
2
 
# Server are started in "var/master-data/local", so "../../tmp" will be "var/tmp"
3
 
eval set @tmpdir="$DRIZZLETEST_VARDIR/tmp";
4
 
enable_query_log;
5
 
 
6
 
#
7
 
# test of into outfile|dumpfile
8
 
#
9
 
 
10
 
--disable_warnings
11
 
drop table if exists t1;
12
 
--enable_warnings
13
 
 
14
 
create table t1 (`a` blob);
15
 
insert into t1 values("hello world"),("Hello mars"),(NULL);
16
 
disable_query_log;
17
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
18
 
eval select * into outfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.1" from t1;
19
 
enable_query_log;
20
 
select load_file(concat(@tmpdir,"/outfile-test.1"));
21
 
disable_query_log;
22
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
23
 
eval select * into dumpfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.2" from t1 limit 1;
24
 
enable_query_log;
25
 
select load_file(concat(@tmpdir,"/outfile-test.2"));
26
 
disable_query_log;
27
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
28
 
eval select * into dumpfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.3" from t1 where a is null;
29
 
enable_query_log;
30
 
select load_file(concat(@tmpdir,"/outfile-test.3"));
31
 
 
32
 
# the following should give errors
33
 
 
34
 
disable_query_log;
35
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
36
 
--error ER_FILE_EXISTS_ERROR
37
 
eval select * into outfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.1" from t1;
38
 
 
39
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
40
 
--error ER_FILE_EXISTS_ERROR
41
 
eval select * into dumpfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.2" from t1;
42
 
 
43
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
44
 
--error ER_FILE_EXISTS_ERROR
45
 
eval select * into dumpfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.3" from t1;
46
 
enable_query_log;
47
 
 
48
 
# The test below drastically shortens $DRIZZLETEST_VARDIR
49
 
# to just VAR and uses a less informative file name
50
 
# This is done to accomodate longer file paths
51
 
# We were seeing error message truncation when
52
 
# the path to the server under test was long (110+ chars)
53
 
 
54
 
--disable_query_log
55
 
let $bad_test_file ="$DRIZZLETEST_VARDIR/tmp/bad";
56
 
--enable_query_log
57
 
let $replace_substring = `SELECT SUBSTRING($bad_test_file,1,128)`;
58
 
--replace_result $replace_substring DRIZZLETEST_BAD_FILE $bad_test_file DRIZZLETEST_BAD_FILE
59
 
--error ER_TEXTFILE_NOT_READABLE
60
 
eval select load_file($bad_test_file);
61
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.1
62
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.2
63
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.3
64
 
drop table t1;
65
 
 
66
 
# Bug#8191
67
 
disable_query_log;
68
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
69
 
eval select 1 into outfile "$DRIZZLETEST_VARDIR/tmp/outfile-test.4";
70
 
enable_query_log;
71
 
--replace_result $DRIZZLE_TEST_DIR DRIZZLE_TEST_DIR
72
 
select load_file(concat(@tmpdir,"/outfile-test.4"));
73
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.4
74
 
 
75
 
#
76
 
# Bug #5382: 'explain select into outfile' crashes the server
77
 
#
78
 
 
79
 
CREATE TABLE t1 (a INT);
80
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
81
 
eval EXPLAIN SELECT * INTO OUTFILE '$DRIZZLETEST_VARDIR/tmp/t1.txt' 
82
 
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n'
83
 
  FROM t1;
84
 
DROP TABLE t1;
85
 
 
86
 
# End of 4.1 tests
87
 
 
88
 
#
89
 
# Bug#13202  SELECT * INTO OUTFILE ... FROM data_dictionary.schemas now fails
90
 
#
91
 
disable_query_log;
92
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
93
 
eval SELECT * INTO OUTFILE "$DRIZZLETEST_VARDIR/tmp/outfile-test.4"
94
 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
95
 
FROM data_dictionary.schemas LIMIT 0, 5;
96
 
# enable_query_log;
97
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.4
98
 
 
99
 
use data_dictionary;
100
 
# disable_query_log;
101
 
--replace_result $DRIZZLETEST_VARDIR DRIZZLETEST_VARDIR
102
 
eval SELECT * INTO OUTFILE "$DRIZZLETEST_VARDIR/tmp/outfile-test.5"
103
 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
104
 
FROM schemas LIMIT 0, 5;
105
 
enable_query_log;
106
 
--remove_file $DRIZZLETEST_VARDIR/tmp/outfile-test.5
107
 
use test;
108
 
 
109
 
#
110
 
# Bug#18628 mysql-test-run: security problem
111
 
#
112
 
# It should not be possible to write to a file outside of vardir
113
 
create table t1(a int);
114
 
--replace_result $DRIZZLE_TEST_DIR DRIZZLE_TEST_DIR
115
 
--error ER_OPTION_PREVENTS_STATEMENT
116
 
eval select * into outfile "$DRIZZLE_TEST_DIR/outfile-test1" from t1;
117
 
drop table t1;