1# Tests that variables work correctly (setting and showing).  This
2# test is like the main.variables test, but for variables not
3# available in embedded mode.
4
5source include/not_embedded.inc;
6
7--echo ---- Init ----
8# Backup global variables so they can be restored at end of test.
9set @my_slave_net_timeout         =@@global.slave_net_timeout;
10
11--echo ---- Test ----
12set global slave_net_timeout=100;
13set global sql_slave_skip_counter=100;
14
15# End of 4.1 tests
16
17# BUG #7800: Add various-slave related variables to SHOW VARIABLES
18show variables like 'slave_compressed_protocol';
19--replace_column 2 SLAVE_LOAD_TMPDIR
20show variables like 'slave_load_tmpdir';
21# We just set some arbitrary values in variables-master.opt so we can test
22# that a list of values works correctly
23show variables like 'slave_skip_errors';
24
25--echo ---- Clean Up ----
26
27set global slave_net_timeout=default;
28# sql_slave_skip_counter is write-only, so we can't save previous
29# value and restore it here.  That's ok, because it's normally 0.
30set global sql_slave_skip_counter= 0;
31set @@global.slave_net_timeout= @my_slave_net_timeout;
32
33#
34# Bug#28234 - global/session scope - documentation vs implementation
35#
36--echo
37#
38# Additional variables fixed from sql_repl.cc.
39#
40--echo #
41SHOW VARIABLES like 'log_slave_updates';
42--error ER_INCORRECT_GLOBAL_LOCAL_VAR
43SELECT @@session.log_slave_updates;
44SELECT @@global.log_slave_updates;
45--error ER_INCORRECT_GLOBAL_LOCAL_VAR
46SET @@session.log_slave_updates= true;
47--error ER_INCORRECT_GLOBAL_LOCAL_VAR
48SET @@global.log_slave_updates= true;
49#
50--echo #
51let $relay_prefix=`select concat(substring_index(@@relay_log,"-",1),"-")`;
52--replace_result $relay_prefix XXX-
53SHOW VARIABLES like 'relay_log';
54--error ER_INCORRECT_GLOBAL_LOCAL_VAR
55SELECT @@session.relay_log;
56--replace_result $relay_prefix XXX-
57SELECT @@global.relay_log;
58--error ER_INCORRECT_GLOBAL_LOCAL_VAR
59SET @@session.relay_log= 'x';
60--error ER_INCORRECT_GLOBAL_LOCAL_VAR
61SET @@global.relay_log= 'x';
62#
63--echo #
64--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $relay_prefix XXX-
65SHOW VARIABLES like 'relay_log_basename';
66--error ER_INCORRECT_GLOBAL_LOCAL_VAR
67SELECT @@session.relay_log_basename;
68--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $relay_prefix XXX-
69SELECT @@global.relay_log_basename;
70--error ER_INCORRECT_GLOBAL_LOCAL_VAR
71SET @@session.relay_log_basename= 'x';
72--error ER_INCORRECT_GLOBAL_LOCAL_VAR
73SET @@global.relay_log_basename= 'x';
74#
75--echo #
76--replace_result $relay_prefix XXX-
77SHOW VARIABLES like 'log_bin_basename';
78--error ER_INCORRECT_GLOBAL_LOCAL_VAR
79SELECT @@session.log_bin_basename;
80--replace_result $relay_prefix XXX-
81SELECT @@global.log_bin_basename;
82--error ER_INCORRECT_GLOBAL_LOCAL_VAR
83SET @@session.log_bin_basename= 'x';
84--error ER_INCORRECT_GLOBAL_LOCAL_VAR
85SET @@global.log_bin_basename= 'x';
86#
87--echo #
88--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $relay_prefix XXX-
89SHOW VARIABLES like 'relay_log_index';
90--error ER_INCORRECT_GLOBAL_LOCAL_VAR
91SELECT @@session.relay_log_index;
92--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $relay_prefix XXX-
93SELECT @@global.relay_log_index;
94--error ER_INCORRECT_GLOBAL_LOCAL_VAR
95SET @@session.relay_log_index= 'x';
96--error ER_INCORRECT_GLOBAL_LOCAL_VAR
97SET @@global.relay_log_index= 'x';
98#
99--echo #
100--replace_result $relay_prefix XXX-
101SHOW VARIABLES like 'log_bin_index';
102--error ER_INCORRECT_GLOBAL_LOCAL_VAR
103SELECT @@session.log_bin_index;
104--replace_result $relay_prefix XXX-
105SELECT @@global.log_bin_index;
106--error ER_INCORRECT_GLOBAL_LOCAL_VAR
107SET @@session.log_bin_index= 'x';
108--error ER_INCORRECT_GLOBAL_LOCAL_VAR
109SET @@global.log_bin_index= 'x';
110#
111--echo #
112SHOW VARIABLES like 'relay_log_info_file';
113--error ER_INCORRECT_GLOBAL_LOCAL_VAR
114SELECT @@session.relay_log_info_file;
115SELECT @@global.relay_log_info_file;
116--error ER_INCORRECT_GLOBAL_LOCAL_VAR
117SET @@session.relay_log_info_file= 'x';
118--error ER_INCORRECT_GLOBAL_LOCAL_VAR
119SET @@global.relay_log_info_file= 'x';
120#
121--echo #
122SHOW VARIABLES like 'relay_log_space_limit';
123--error ER_INCORRECT_GLOBAL_LOCAL_VAR
124SELECT @@session.relay_log_space_limit;
125SELECT @@global.relay_log_space_limit;
126--error ER_INCORRECT_GLOBAL_LOCAL_VAR
127SET @@session.relay_log_space_limit= 7;
128--error ER_INCORRECT_GLOBAL_LOCAL_VAR
129SET @@global.relay_log_space_limit= 7;
130#
131--echo #
132--replace_column 2 #
133SHOW VARIABLES like 'slave_load_tmpdir';
134--error ER_INCORRECT_GLOBAL_LOCAL_VAR
135SELECT @@session.slave_load_tmpdir;
136--replace_column 1 #
137SELECT @@global.slave_load_tmpdir;
138--error ER_INCORRECT_GLOBAL_LOCAL_VAR
139SET @@session.slave_load_tmpdir= 'x';
140--error ER_INCORRECT_GLOBAL_LOCAL_VAR
141SET @@global.slave_load_tmpdir= 'x';
142#
143--echo #
144SHOW VARIABLES like 'slave_skip_errors';
145--error ER_INCORRECT_GLOBAL_LOCAL_VAR
146SELECT @@session.slave_skip_errors;
147SELECT @@global.slave_skip_errors;
148--error ER_INCORRECT_GLOBAL_LOCAL_VAR
149SET @@session.slave_skip_errors= 7;
150--error ER_INCORRECT_GLOBAL_LOCAL_VAR
151SET @@global.slave_skip_errors= 7;
152#
153
154--echo #
155--echo # Bug #11766769 : 59959: SMALL VALUES OF --MAX-ALLOWED-PACKET
156--echo #   ARE NOT BEING HONORED
157--echo #
158
159CREATE TABLE t1 (a MEDIUMTEXT);
160
161set @save_max_allowed_packet=@@global.max_allowed_packet, @save_net_buffer_length=@@net_buffer_length;
162SET GLOBAL max_allowed_packet=2048;
163SET GLOBAL net_buffer_length=4096;
164CONNECT (con1,localhost,root,,test);
165SHOW SESSION VARIABLES LIKE 'max_allowed_packet';
166SHOW SESSION VARIABLES LIKE 'net_buffer_length';
167--disable_query_log
168#Sending a packet that is too big can result in either
169#ER_NET_PACKET_TOO_LARGE or a socket error on the client side (2013= CR_SERVER_LOST)
170#The server does not make any attempts to gracefully close client connection and ensuring
171#client fully read the last packet. Server just closes the socket after it has send.
172#Client thus can get either a socket error, or EOF, or an error packet with ER_NET_PACKET_TOO_LARGE
173--error ER_NET_PACKET_TOO_LARGE,2013
174INSERT INTO t1 VALUES ('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
175--enable_query_log
176
177CONNECTION default;
178DISCONNECT con1;
179SELECT LENGTH(a) FROM t1;
180
181SET GLOBAL max_allowed_packet=@save_max_allowed_packet;
182SET GLOBAL net_buffer_length=@save_net_buffer_length;
183DROP TABLE t1;
184
185--echo End of 5.1 tests
186