1
############## mysql-test\t\transaction_prealloc_size_basic.test ##############
3
# Variable Name: transaction_prealloc_size #
4
# Scope: GLOBAL | SESSION #
5
# Access Type: Dynamic #
7
# Default Value: 4096 #
11
# Creation Date: 2008-02-14 #
12
# Author: Sharique Abdullah #
14
# Description: Test Cases of Dynamic System Variable transaction_prealloc_size#
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#option_mysqld_transaction_prealloc_size #
24
###############################################################################
26
--source include/load_sysvars.inc
28
########################################################################
29
# START OF transaction_prealloc_size TESTS #
30
########################################################################
33
#############################################################
34
# Save initial value #
35
#############################################################
37
SET @start_global_value = @@global.transaction_prealloc_size;
38
SELECT @start_global_value;
39
SET @start_session_value = @@session.transaction_prealloc_size;
40
SELECT @start_session_value;
42
--echo '#--------------------FN_DYNVARS_005_01-------------------------#'
43
########################################################################
44
# Display the DEFAULT value of transaction_prealloc_size #
45
########################################################################
47
SET @@global.transaction_prealloc_size = 100;
48
SET @@global.transaction_prealloc_size = DEFAULT;
49
SELECT @@global.transaction_prealloc_size;
52
SET @@session.transaction_prealloc_size = 200;
53
SET @@session.transaction_prealloc_size = DEFAULT;
54
SELECT @@session.transaction_prealloc_size;
56
--echo '#--------------------FN_DYNVARS_005_02-------------------------#'
57
########################################################################
58
# Check the DEFAULT value of transaction_prealloc_size #
59
########################################################################
61
SET @@global.transaction_prealloc_size = DEFAULT;
62
SELECT @@global.transaction_prealloc_size = 4096;
64
SET @@session.transaction_prealloc_size = DEFAULT;
65
SELECT @@session.transaction_prealloc_size = 4096;
67
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
68
##################################################################
69
# Change the value of variable to a valid value for GLOBAL Scope #
70
##################################################################
72
SET @@global.transaction_prealloc_size = 1024;
73
SELECT @@global.transaction_prealloc_size;
75
SET @@global.transaction_prealloc_size = 60020;
76
SELECT @@global.transaction_prealloc_size;
78
SET @@global.transaction_prealloc_size = 4294966272;
79
SELECT @@global.transaction_prealloc_size;
82
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
83
###################################################################
84
# Change the value of variable to a valid value for SESSION Scope #
85
###################################################################
87
SET @@session.transaction_prealloc_size = 1024;
88
SELECT @@session.transaction_prealloc_size;
90
SET @@session.transaction_prealloc_size =4294966272;
91
SELECT @@session.transaction_prealloc_size;
92
SET @@session.transaction_prealloc_size = 65535;
93
SELECT @@session.transaction_prealloc_size;
96
--echo '#------------------FN_DYNVARS_005_05-----------------------#'
97
#####################################################################
98
# Change the value of transaction_prealloc_size to an invalid value #
99
#####################################################################
101
SET @@global.transaction_prealloc_size = 0;
102
SELECT @@global.transaction_prealloc_size;
104
SET @@global.transaction_prealloc_size = -1024;
105
SELECT @@global.transaction_prealloc_size;
107
SET @@global.transaction_prealloc_size = ON;
110
SET @@global.transaction_prealloc_size = OFF;
113
SET @@global.transaction_prealloc_size = True;
114
SELECT @@global.transaction_prealloc_size;
116
SET @@global.transaction_prealloc_size = False;
117
SELECT @@global.transaction_prealloc_size;
120
SET @@global.transaction_prealloc_size = 65530.34;
122
SET @@global.transaction_prealloc_size ="Test";
124
SET @@global.transaction_prealloc_size = 1000;
125
SELECT @@global.transaction_prealloc_size;
127
SET @@session.transaction_prealloc_size = ON;
130
SET @@session.transaction_prealloc_size = OFF;
132
SET @@session.transaction_prealloc_size = True;
133
SELECT @@session.transaction_prealloc_size;
135
SET @@session.transaction_prealloc_size = False;
136
SELECT @@session.transaction_prealloc_size;
138
--Error ER_WRONG_TYPE_FOR_VAR
139
SET @@session.transaction_prealloc_size = "Test";
141
SET @@session.transaction_prealloc_size = 123456789031;
142
SELECT @@session.transaction_prealloc_size;
145
--echo '#------------------FN_DYNVARS_005_06-----------------------#'
146
####################################################################
147
# Check if the value in GLOBAL Table matches value in variable #
148
####################################################################
151
SELECT @@global.transaction_prealloc_size = VARIABLE_VALUE
152
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
153
WHERE VARIABLE_NAME='transaction_prealloc_size';
155
--echo '#------------------FN_DYNVARS_005_07-----------------------#'
156
####################################################################
157
# Check if the value in SESSION Table matches value in variable #
158
####################################################################
160
SELECT @@session.transaction_prealloc_size = VARIABLE_VALUE
161
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
162
WHERE VARIABLE_NAME='transaction_prealloc_size';
167
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
168
###########################################################################
169
# Check if global and session variable are independent of each other #
170
###########################################################################
172
SET @@global.transaction_prealloc_size = 1024;
173
SET @@global.transaction_prealloc_size = 10;
175
SELECT @@transaction_prealloc_size = @@global.transaction_prealloc_size;
178
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
179
########################################################################
180
# Check if accessing variable with SESSION,LOCAL and without SCOPE #
181
# points to same session variable #
182
########################################################################
184
SET @@transaction_prealloc_size = 100;
185
SELECT @@transaction_prealloc_size = @@local.transaction_prealloc_size;
186
SELECT @@local.transaction_prealloc_size = @@session.transaction_prealloc_size;
189
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
190
###############################################################################
191
# Check if transaction_prealloc_size can be accessed with and without @@ sign #
192
###############################################################################
194
SET transaction_prealloc_size = 1027;
195
SELECT @@transaction_prealloc_size;
197
--Error ER_UNKNOWN_TABLE
198
SELECT local.transaction_prealloc_size;
200
--Error ER_UNKNOWN_TABLE
201
SELECT session.transaction_prealloc_size;
203
--Error ER_BAD_FIELD_ERROR
204
SELECT transaction_prealloc_size = @@session.transaction_prealloc_size;
206
####################################
207
# Restore initial value #
208
####################################
210
SET @@global.transaction_prealloc_size = @start_global_value;
211
SELECT @@global.transaction_prealloc_size;
212
SET @@session.transaction_prealloc_size = @start_session_value;
213
SELECT @@session.transaction_prealloc_size;
216
#############################################################
217
# END OF transaction_prealloc_size TESTS #
218
#############################################################