1
############## mysql-test\t\local_infile_basic.test ############################
3
# Variable Name: local_infile #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-19 #
12
# Author: Rizwan Maredia #
14
# Description: Test Cases of Dynamic System Variable "local_infile" #
15
# that checks behavior of this variable in the following ways #
17
# * Valid & Invalid values #
18
# * Scope & Access method #
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
22
# server-system-variables.html#option_mysqld_local_infile #
24
################################################################################
26
--source include/load_sysvars.inc
28
############################################################
29
# START OF local_infile TESTS #
30
############################################################
33
####################################################################
34
# Saving initial value of local_infile in a temporary variable #
35
####################################################################
37
SET @start_value = @@global.local_infile;
40
--echo '#--------------------FN_DYNVARS_018_01------------------------#'
41
####################################################################
42
# Display the DEFAULT value of local_infile #
43
####################################################################
45
SET @@global.local_infile = 0;
46
SET @@global.local_infile = DEFAULT;
47
SELECT @@global.local_infile;
49
--echo '#---------------------FN_DYNVARS_018_02-------------------------#'
50
###############################################
51
# Verify default value of variable #
52
###############################################
54
SET @@global.local_infile = DEFAULT;
55
SELECT @@global.local_infile = 1;
58
--echo '#--------------------FN_DYNVARS_018_03------------------------#'
59
####################################################################
60
# Change the value of local_infile to a valid value #
61
####################################################################
63
SET @@global.local_infile = 0;
64
SELECT @@global.local_infile;
65
SET @@global.local_infile = 1;
66
SELECT @@global.local_infile;
68
--echo '#--------------------FN_DYNVARS_018_04-------------------------#'
69
######################################################################
70
# Change the value of local_infile to invalid value #
71
######################################################################
73
--Error ER_WRONG_VALUE_FOR_VAR
74
SET @@global.local_infile = -1;
75
--Error ER_WRONG_VALUE_FOR_VAR
76
SET @@global.local_infile = 2;
77
--Error ER_WRONG_VALUE_FOR_VAR
78
SET @@global.local_infile = 100;
79
--Error ER_WRONG_VALUE_FOR_VAR
80
SET @@global.local_infile = TRUEF;
81
--Error ER_WRONG_VALUE_FOR_VAR
82
SET @@global.local_infile = TRUE_F;
83
--Error ER_WRONG_VALUE_FOR_VAR
84
SET @@global.local_infile = FALSE0;
85
--Error ER_WRONG_VALUE_FOR_VAR
86
SET @@global.local_infile = OON;
87
--Error ER_WRONG_VALUE_FOR_VAR
88
SET @@global.local_infile = ONN;
89
--Error ER_WRONG_VALUE_FOR_VAR
90
SET @@global.local_infile = OOFF;
91
--Error ER_WRONG_VALUE_FOR_VAR
92
SET @@global.local_infile = 0FF;
93
--Error ER_WRONG_VALUE_FOR_VAR
94
SET @@global.local_infile = ' ';
95
--Error ER_WRONG_VALUE_FOR_VAR
96
SET @@global.local_infile = " ";
99
--echo '#-------------------FN_DYNVARS_018_05----------------------------#'
100
################################################################
101
# Test if accessing session local_infile gives error #
102
################################################################
104
--Error ER_GLOBAL_VARIABLE
105
SET @@session.local_infile = 1;
106
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
107
SELECT @@session.local_infile = 1;
110
--echo '#----------------------FN_DYNVARS_018_06------------------------#'
111
####################################################################
112
# Check if the value in GLOBAL Tables matches values in variable #
113
####################################################################
115
SELECT @@global.local_infile = VARIABLE_VALUE
116
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
117
WHERE VARIABLE_NAME='local_infile';
120
--echo '#---------------------FN_DYNVARS_018_07----------------------#'
121
###################################################################
122
# Check if ON and OFF values can be used on variable #
123
###################################################################
125
SET @@global.local_infile = OFF;
126
SELECT @@global.local_infile;
127
SET @@global.local_infile = ON;
128
SELECT @@global.local_infile;
130
--echo '#---------------------FN_DYNVARS_018_08----------------------#'
131
###################################################################
132
# Check if TRUE and FALSE values can be used on variable #
133
###################################################################
135
SET @@global.local_infile = TRUE;
136
SELECT @@global.local_infile;
137
SET @@global.local_infile = FALSE;
138
SELECT @@global.local_infile;
140
--echo '#---------------------FN_DYNVARS_018_09----------------------#'
141
###############################################################################
142
# Check if accessing variable without SCOPE points to same global variable #
143
###############################################################################
145
SET @@global.local_infile = 1;
146
SELECT @@local_infile = @@global.local_infile;
149
--echo '#---------------------FN_DYNVARS_018_10----------------------#'
150
##########################################################################
151
# Check if local_infile can be accessed with and without @@ sign #
152
##########################################################################
154
--Error ER_GLOBAL_VARIABLE
155
SET local_infile = 1;
156
SELECT @@local_infile;
157
--Error ER_PARSE_ERROR
158
SET global.local_infile = 1;
159
--Error ER_UNKNOWN_TABLE
160
SELECT global.local_infile;
161
--Error ER_BAD_FIELD_ERROR
162
SELECT local_infile = @@session.local_infile;
164
##############################
165
# Restore initial value #
166
##############################
168
SET @@global.local_infile = @start_value;
169
SELECT @@global.local_infile;
171
##################################################
172
# END OF local_infile TESTS #
173
##################################################