1
################# mysql-test\t\innodb_flush_log_at_trx_commit_basic.test ######
3
# Variable Name: innodb_flush_log_at_trx_commit #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-07 #
14
#Description: Test Cases of Dynamic System Variable #
15
# innodb_flush_log_at_trx_commit that checks the behavior of #
16
# this variable in the following ways #
18
# * Valid & Invalid values #
19
# * Scope & Access method #
22
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
23
# server-system-variables.html #
25
###############################################################################
27
--source include/have_innodb.inc
28
--source include/load_sysvars.inc
30
########################################################################
31
# START OF innodb_flush_log_at_trx_commit TESTS #
32
########################################################################
35
#############################################################################
36
# Saving initial value of innodb_flush_log_at_trx_commit #
37
#############################################################################
40
SET @global_start_value = @@global.innodb_flush_log_at_trx_commit;
41
SELECT @global_start_value;
45
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
46
##########################################################################
47
# Display the DEFAULT value of innodb_flush_log_at_trx_commit #
48
##########################################################################
50
SET @@global.innodb_flush_log_at_trx_commit = 0;
51
SET @@global.innodb_flush_log_at_trx_commit = DEFAULT;
52
SELECT @@global.innodb_flush_log_at_trx_commit;
54
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
55
###############################################################################
56
# Check if variable can be accessed with and without @@ sign #
57
###############################################################################
59
--Error ER_GLOBAL_VARIABLE
60
SET innodb_flush_log_at_trx_commit = 1;
61
SELECT @@innodb_flush_log_at_trx_commit;
64
--Error ER_UNKNOWN_TABLE
65
SELECT local.innodb_flush_log_at_trx_commit;
68
SET global innodb_flush_log_at_trx_commit = 0;
69
SELECT @@global.innodb_flush_log_at_trx_commit;
72
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
73
#############################################################################
74
# change the value of innodb_flush_log_at_trx_commit to a valid value #
75
#############################################################################
78
SET @@global.innodb_flush_log_at_trx_commit = 0;
79
SELECT @@global.innodb_flush_log_at_trx_commit;
81
SET @@global.innodb_flush_log_at_trx_commit = 1;
82
SELECT @@global.innodb_flush_log_at_trx_commit;
83
SET @@global.innodb_flush_log_at_trx_commit = 2;
84
SELECT @@global.innodb_flush_log_at_trx_commit;
86
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
87
###############################################################################
88
# Change the value of innodb_flush_log_at_trx_commit to invalid value #
89
###############################################################################
91
SET @@global.innodb_flush_log_at_trx_commit = -1;
92
SELECT @@global.innodb_flush_log_at_trx_commit;
94
--Error ER_WRONG_TYPE_FOR_VAR
95
SET @@global.innodb_flush_log_at_trx_commit = "T";
96
SELECT @@global.innodb_flush_log_at_trx_commit;
98
--Error ER_WRONG_TYPE_FOR_VAR
99
SET @@global.innodb_flush_log_at_trx_commit = "Y";
100
SELECT @@global.innodb_flush_log_at_trx_commit;
102
SET @@global.innodb_flush_log_at_trx_commit = 1001;
103
SELECT @@global.innodb_flush_log_at_trx_commit;
105
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
106
#########################################################################
107
# Check if the value in GLOBAL Table matches value in variable #
108
#########################################################################
110
SELECT @@global.innodb_flush_log_at_trx_commit =
111
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
112
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
113
SELECT @@global.innodb_flush_log_at_trx_commit;
114
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
115
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
117
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
118
###################################################################
119
# Check if ON and OFF values can be used on variable #
120
###################################################################
122
--ERROR ER_WRONG_TYPE_FOR_VAR
123
SET @@global.innodb_flush_log_at_trx_commit = OFF;
124
SELECT @@global.innodb_flush_log_at_trx_commit;
126
--ERROR ER_WRONG_TYPE_FOR_VAR
127
SET @@global.innodb_flush_log_at_trx_commit = ON;
128
SELECT @@global.innodb_flush_log_at_trx_commit;
130
--echo '#---------------------FN_DYNVARS_046_07----------------------#'
131
###################################################################
132
# Check if TRUE and FALSE values can be used on variable #
133
###################################################################
136
SET @@global.innodb_flush_log_at_trx_commit = TRUE;
137
SELECT @@global.innodb_flush_log_at_trx_commit;
138
SET @@global.innodb_flush_log_at_trx_commit = FALSE;
139
SELECT @@global.innodb_flush_log_at_trx_commit;
141
##############################
142
# Restore initial value #
143
##############################
146
SET @@global.innodb_flush_log_at_trx_commit = @global_start_value;
147
SELECT @@global.innodb_flush_log_at_trx_commit;
149
###############################################################
150
# END OF innodb_flush_log_at_trx_commit TESTS #
151
###############################################################