1
#################### mysql-test\t\sync_binlog_basic.test ######################
3
# Variable Name: sync_binlog #
5
# Access Type: Dynamic #
8
# Range: 0 - 4294967295 #
11
# Creation Date: 2008-02-07 #
12
# Author: Salman Rawala #
14
# Description: Test Cases of Dynamic System Variable sync_binlog #
15
# that checks the 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 #
24
###############################################################################
26
--source include/load_sysvars.inc
28
##################################################################
29
# START OF sync_binlog TESTS #
30
##################################################################
33
##################################################################
34
# Saving initial value of sync_binlog in a temporary variable #
35
##################################################################
37
SET @start_value = @@global.sync_binlog;
41
--echo '#--------------------FN_DYNVARS_168_01------------------------#'
42
##################################################################
43
# Display the DEFAULT value of sync_binlog #
44
##################################################################
46
SET @@global.sync_binlog = 99;
47
SET @@global.sync_binlog = DEFAULT;
48
SELECT @@global.sync_binlog;
51
--echo '#---------------------FN_DYNVARS_168_02-------------------------#'
52
###############################################
53
# Verify default value of variable #
54
###############################################
56
SET @@global.sync_binlog = @start_value;
57
SELECT @@global.sync_binlog = 0;
60
--echo '#--------------------FN_DYNVARS_168_03------------------------#'
61
###################################################################
62
# Change the value of sync_binlog to a valid value #
63
###################################################################
65
SET @@global.sync_binlog = 0;
66
SELECT @@global.sync_binlog;
67
SET @@global.sync_binlog = 1;
68
SELECT @@global.sync_binlog;
69
SET @@global.sync_binlog = 4294967295;
70
SELECT @@global.sync_binlog;
71
SET @@global.sync_binlog = 4294967294;
72
SELECT @@global.sync_binlog;
73
SET @@global.sync_binlog = 65536;
74
SELECT @@global.sync_binlog;
77
--echo '#--------------------FN_DYNVARS_168_04-------------------------#'
78
######################################################################
79
# Change the value of sync_binlog to invalid value #
80
######################################################################
82
SET @@global.sync_binlog = -1;
83
SELECT @@global.sync_binlog;
84
SET @@global.sync_binlog = 4294967296;
85
SELECT @@global.sync_binlog;
86
SET @@global.sync_binlog = 10240022115;
87
SELECT @@global.sync_binlog;
88
--Error ER_WRONG_TYPE_FOR_VAR
89
SET @@global.sync_binlog = 10000.01;
90
SELECT @@global.sync_binlog;
91
SET @@global.sync_binlog = -1024;
92
SELECT @@global.sync_binlog;
93
SET @@global.sync_binlog = 42949672950;
94
SELECT @@global.sync_binlog;
95
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
97
--Error ER_WRONG_TYPE_FOR_VAR
98
SET @@global.sync_binlog = ON;
99
SELECT @@global.sync_binlog;
100
--Error ER_WRONG_TYPE_FOR_VAR
101
SET @@global.sync_binlog = 'test';
102
SELECT @@global.sync_binlog;
105
--echo '#-------------------FN_DYNVARS_168_05----------------------------#'
106
###########################################################################
107
# Test if accessing session sync_binlog gives error #
108
###########################################################################
110
--Error ER_GLOBAL_VARIABLE
111
SET @@session.sync_binlog = 0;
112
SELECT @@sync_binlog;
115
--echo '#----------------------FN_DYNVARS_168_06------------------------#'
116
##############################################################################
117
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
118
##############################################################################
120
SELECT @@global.sync_binlog = VARIABLE_VALUE
121
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
122
WHERE VARIABLE_NAME='sync_binlog';
126
--echo '#---------------------FN_DYNVARS_168_07----------------------#'
127
##########################################################################
128
# Check if sync_binlog can be accessed with and without @@ sign #
129
##########################################################################
131
--Error ER_GLOBAL_VARIABLE
133
SELECT @@sync_binlog;
134
--Error ER_PARSE_ERROR
135
SET local.sync_binlog = 1;
136
--Error ER_UNKNOWN_TABLE
137
SELECT local.sync_binlog;
138
--Error ER_PARSE_ERROR
139
SET global.sync_binlog = 1;
140
--Error ER_UNKNOWN_TABLE
141
SELECT global.sync_binlog;
142
--Error ER_BAD_FIELD_ERROR
143
SELECT sync_binlog = @@session.sync_binlog;
146
##############################
147
# Restore initial value #
148
##############################
150
SET @@global.sync_binlog = @start_value;
151
SELECT @@global.sync_binlog;
154
########################################################################
155
# END OF sync_binlog TESTS #
156
########################################################################